php连接MSsql server的五种方法总结


Posted in PHP onMarch 04, 2018

参考php手册,对php连接sql server系列做出个小结。主要有五种方式:

一、通过mssql_系列函数

mssql_系列函数主要针对php5.3以下的版本和sqlserver2000及以上版本使用。

在php.ini中将;extension=php_mssql.dll;extension=php_msql.dll;extension=php_pdo_mssql.dll ;extension=php_pdo_odbc.dll 前面的分号去掉。

<?php
 $server ="localhost"; //服务器IP地址,如果是本地,可以写成localhost
 $uid ="sa"; //用户名
 $pwd ="123456"; //密码
 $database ="jb51net"; //数据库名称
 
////进行数据库连接
 $conn =mssql_connect($server,$uid,$pwd) or die ("connect failed");
 mssql_select_db($database,$conn);
 
////执行查询语句
 $query ="select * from A_PHP";
 $row =mssql_query($query);
 
////打印输出查询结果
 while($list=mssql_fetch_array($row))
 {
    print_r($list);
    echo "<br>";
 }
?>

二、通过sqlsrv_系列函数

sqlsrv_系列函数主要针对php5.3以上的版本和sql server 2005以上版本使用。

需要下载安装Microsoft Drivers for PHP for SQL Server驱动,地址:https://msdn.microsoft.com/library/dn865013.aspx。下载后解压放到php对应的ext目录下。然后打开php.ini文件,在extension 后面添加一下配置

extension=php_pdo_sqlsrv_53_ts.dll
extension=php_sqlsrv_53_ts.dll

重启apache,查看phpinfo(),确保apache已经支持sqlsrv。如下图所示:

 php连接MSsql server的五种方法总结

并且安装sqlncli.msi,这个文件是协助windows环境访问sql server所在的数据库服务器的

<?php

 $serverName = "localhost";
 $connectionInfo = array( "Database"=>"jb51net", "UID"=>"sa", "PWD"=>"123456");
 $conn = sqlsrv_connect( $serverName, $connectionInfo );
 if( $conn === false ) {
   die( print_r( sqlsrv_errors(), true));
 }

 $sql = "SELECT * FROM dbo.A_PHP";
 $stmt = sqlsrv_query( $conn, $sql );
 if( $stmt === false) {
   die( print_r( sqlsrv_errors(), true) );
 }


 while($row = sqlsrv_fetch_array($stmt))
 {echo $row[0]."-----".$row[1]."<br/>";}
?>

三、通过odbc方式连接sqlserver系列

需要在php.ini中开启php_pdo_odbc.dll扩展。

php连接MSsql server的五种方法总结

<?php
$con = odbc_connect('DRIVER={SQL Server};SERVER=localhost;DATABASE=jb51net,'sa','123456');
$query = "SELECT * FROM dbo.A_PHP";
$result = odbc_do($con,$query);
while(odbc_fetch_row($result))
{
  $list = odbc_result($result, "id");	print_r($list);echo '<br/>';
}
?>

四、通过PDO方式连接sqlserver

在php.ini中开启php_pdo_mssql.dll扩展。在phpinfo中可查看

<?php
 $conn = new PDO("sqlsrv:server=localhost;database=jb51net","sa","123456");
 $sql = "select count(*) count from CKXS2";
 $res = $conn->query($sql);
 while ($row = $res->fetch()){
 print_r($row);
 }

?>

五、通过COM方式连接。

下面是实现代码:

<?php
 $conn = new Com("ADODB.Connection"); //实例化一个Connection对象 
 $connstr = "provider=sqloledb;datasource=.;uid=sa;pwd=123456;database=jb51net;"; 
 $conn->Open($connstr); 
 $rs = new Com("ADODB.Recordset"); //实例化一个Recordcount对象 

 $rs->Open('select * from CKXS2 ', $conn, 1, 1); 
 $count = $rs->RecordCount; 
 echo "共有{$count}条纪录<br />"; 
?>
PHP 相关文章推荐
PHP中的超全局变量
Oct 09 PHP
解析php二分法查找数组是否包含某一元素
May 23 PHP
基于empty函数的输出详解
Jun 17 PHP
解析如何修改phpmyadmin中的默认登陆超时时间
Jun 25 PHP
ThinkPHP令牌验证实例
Jun 18 PHP
php生成PDF格式文件并且加密
Jun 22 PHP
Yii扩展组件编写方法实例分析
Jun 29 PHP
7个鲜为人知却非常实用的PHP函数
Jul 01 PHP
100行PHP代码实现socks5代理服务器
Apr 28 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
Dec 25 PHP
Laravel 5.5 实现禁用用户注册示例
Oct 24 PHP
微信小程序和php的登录实现
Apr 01 PHP
php记录搜索引擎爬行记录的实现代码
Mar 02 #PHP
LaravelS通过Swoole加速Laravel/Lumen详解
Mar 02 #PHP
PHP生成随机数的方法总结
Mar 01 #PHP
PHP Post获取不到非表单数据的问题解决办法
Feb 27 #PHP
php实现生成带二维码图片并强制下载功能
Feb 24 #PHP
php递归函数怎么用才有效
Feb 24 #PHP
php格式文件打开的四种方法
Feb 24 #PHP
You might like
php XMLWriter类的简单示例代码(RSS输出)
2011/09/30 PHP
利用php获取服务器时间的实现代码
2013/06/07 PHP
PHP中一些可以替代正则表达式函数的字符串操作函数
2014/11/17 PHP
PHP预定义超全局数组变量小结
2018/08/20 PHP
Nigma vs Liquid BO3 第一场2.14
2021/03/10 DOTA
浅析JavaScript原型继承的陷阱
2013/12/03 Javascript
JS+CSS实现大气清新的滑动菜单效果代码
2015/10/22 Javascript
浅析ES6的八进制与二进制整数字面量
2016/08/30 Javascript
JS实现仿PS的调色板效果完整实例
2016/12/21 Javascript
jQuery密码强度验证控件使用详解
2017/01/05 Javascript
ES5学习教程之Array对象
2017/04/01 Javascript
解决jQuery ajax动态新增节点无法触发点击事件的问题
2017/05/24 jQuery
vue2项目使用sass的示例代码
2017/06/28 Javascript
对node.js中render和send的用法详解
2018/05/14 Javascript
JS算法题之查找数字在数组中的索引位置
2019/05/15 Javascript
[01:17:12]职来职往完美电竞专场
2014/09/18 DOTA
Python采集腾讯新闻实例
2014/07/10 Python
Python中的列表知识点汇总
2015/04/14 Python
Python元组操作实例分析【创建、赋值、更新、删除等】
2017/07/24 Python
python opencv图片编码为h264文件的实例
2019/12/12 Python
keras load model时出现Missing Layer错误的解决方式
2020/06/11 Python
python使用nibabel和sitk读取保存nii.gz文件实例
2020/07/01 Python
windows10在visual studio2019下配置使用openCV4.3.0
2020/07/14 Python
PyTorch安装与基本使用详解
2020/08/31 Python
python 发送邮件的四种方法汇总
2020/12/02 Python
java关于string最常出现的面试题整理
2021/01/18 Python
中国跨境在线时尚零售商:Bellelily
2018/04/06 全球购物
Etam德国:内衣精品店
2019/08/25 全球购物
三年级数学教学反思
2014/01/31 职场文书
少先队学雷锋活动月总结
2014/03/09 职场文书
领导接待方案
2014/03/13 职场文书
退休教师欢送会主持词
2014/03/31 职场文书
2014年幼儿园保育工作总结
2014/12/02 职场文书
mysql脏页是什么
2021/07/26 MySQL
方法汇总:Python 安装第三方库常用
2022/04/26 Python
向Spring IOC 容器动态注册bean实现方式
2022/07/15 Java/Android