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写入WRITE编码为UTF8的文件的实现代码
Jul 07 PHP
php allow_url_include的应用和解释
Apr 22 PHP
php提示无法加载或mcrypt没有找到 PHP 扩展 mbstring解决办法
Mar 27 PHP
ThinkPHP中的系统常量和预定义常量集合
Jul 01 PHP
PHP类中的魔术方法(Magic Method)简明总结
Jul 08 PHP
smarty模板引擎之配置文件数据和保留数据
Mar 30 PHP
php实现网页缓存的工具类分享
Jul 14 PHP
php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)
Apr 30 PHP
项目中应用Redis+Php的场景
May 22 PHP
php数据库操作model类(使用__call方法)
Nov 16 PHP
Mac系统下安装PHP Xdebug
Mar 30 PHP
Laravel源码解析之路由的使用和示例详解
Sep 27 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 的ArrayAccess接口 像数组一样来访问你的PHP对象
2010/10/12 PHP
兼容IE和Firefox火狐的上下、左右循环无间断滚动JS代码
2013/04/19 Javascript
jquery实现多级下拉菜单的实例代码
2013/10/02 Javascript
js 通过cookie实现刷新不变化树形菜单
2014/10/30 Javascript
js日期范围初始化得到前一个月日期的方法
2015/05/05 Javascript
Nginx上传文件全部缓存解决方案
2015/08/17 Javascript
Js的Array数组对象详解
2016/02/22 Javascript
Bootstrap3制作搜索框样式的方法
2016/07/11 Javascript
ES5学习教程之Array对象
2017/04/01 Javascript
vue页面使用阿里oss上传功能的实例(二)
2017/08/09 Javascript
解决vue2.0动态绑定图片src属性值初始化时报错的问题
2018/03/14 Javascript
layui获取选中行数据的实例讲解
2018/08/19 Javascript
react配置antd按需加载的使用
2019/02/11 Javascript
原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作
2019/02/27 jQuery
json字符串对象转换代码实例
2019/09/28 Javascript
JavaScript前端实现压缩图片功能
2020/03/06 Javascript
python将html转成PDF的实现代码(包含中文)
2013/03/04 Python
python连接oracle数据库实例
2014/10/17 Python
python中map()函数的使用方法示例
2017/09/29 Python
Python学习之Anaconda的使用与配置方法
2018/01/04 Python
python 通过字符串调用对象属性或方法的实例讲解
2018/04/21 Python
python pandas 如何替换某列的一个值
2018/06/09 Python
python实现nao机器人手臂动作控制
2019/04/29 Python
python中metaclass原理与用法详解
2019/06/25 Python
python绘制双Y轴折线图以及单Y轴双变量柱状图的实例
2019/07/08 Python
CSS3结构性伪类选择器九种写法
2012/04/18 HTML / CSS
利用css3制作3D样式按钮实现代码
2013/03/18 HTML / CSS
肯尼迪就职演说稿
2013/12/31 职场文书
应聘会计求职信
2014/06/11 职场文书
环保项目建议书
2014/08/26 职场文书
明星邀请函
2015/02/02 职场文书
2015社区六五普法工作总结
2015/04/21 职场文书
闪闪的红星观后感
2015/06/08 职场文书
企业愿景口号
2015/12/25 职场文书
数据结构课程设计心得体会
2016/01/15 职场文书
Win11无法安装更新补丁KB3045316怎么办 附KB3045316补丁修复教程
2022/08/14 数码科技