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(2)
Oct 09 PHP
PHP中的integer类型使用分析
Jul 27 PHP
php中通过curl模拟登陆discuz论坛的实现代码
Feb 16 PHP
在windows平台上构建自己的PHP实现方法(仅适用于php5.2)
Jul 05 PHP
PHP截取指定图片大小的方法
Dec 10 PHP
PHP响应post请求上传文件的方法
Dec 17 PHP
PHP实现基于文本的摩斯电码生成器
Jan 11 PHP
php微信浏览器分享设置以及回调详解
Aug 01 PHP
PHP mysqli事务操作常用方法分析
Jul 22 PHP
浅谈PHP中new self()和new static()的区别
Aug 11 PHP
总结PHP代码规范、流程规范、git规范
Jun 18 PHP
Yii2框架控制器、路由、Url生成操作示例
May 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
什么是调频(FM)、调幅(AM)、短波(SW)、长波(LW)
2021/03/01 无线电
亚洲咖啡有什么?亚洲咖啡产地介绍 亚洲咖啡有什么特点?
2021/03/05 新手入门
php url地址栏传中文乱码解决方法集合
2010/06/25 PHP
PHP中Closure类的使用方法及详解
2015/10/09 PHP
[原创]PHP实现逐行删除文件右侧空格的方法
2015/12/25 PHP
php实现PDO中捕获SQL语句错误的方法
2017/02/16 PHP
php设计模式之职责链模式定义与用法经典示例
2019/09/19 PHP
Js 订制自己的AlertBox(信息提示框)
2009/01/09 Javascript
javascript 跳转代码集合
2009/12/03 Javascript
两个JavaScript jsFiddle JSBin在线调试器
2010/03/14 Javascript
菜鸟javascript基础资料整理2
2010/12/06 Javascript
10款新鲜出炉的 jQuery 插件(Ajax 插件,有幻灯片、图片画廊、菜单等)
2011/06/08 Javascript
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
2017/06/09 jQuery
基于javaScript的this指向总结
2017/07/22 Javascript
纯js实现页面返回顶部的动画(超简单)
2017/08/10 Javascript
使用vue如何构建一个自动建站项目
2018/02/05 Javascript
在angular 6中使用 less 的实例代码
2018/05/13 Javascript
vue项目中使用lib-flexible解决移动端适配的问题解决
2018/08/23 Javascript
NodeJS读取分析Nginx错误日志的方法
2019/05/14 NodeJs
解决node终端下运行js文件不支持ES6语法
2020/04/04 Javascript
python通过pil为png图片填充上背景颜色的方法
2015/03/17 Python
Python实现列表转换成字典数据结构的方法
2016/03/11 Python
利用python如何处理nc数据详解
2018/05/23 Python
Django 浅谈根据配置生成SQL语句的问题
2018/05/29 Python
Python切片操作深入详解
2018/07/27 Python
python3的pip路径在哪
2020/06/23 Python
python实现文件分片上传的接口自动化
2020/11/19 Python
python爬虫利用selenium实现自动翻页爬取某鱼数据的思路详解
2020/12/22 Python
python画图时设置分辨率和画布大小的实现(plt.figure())
2021/01/08 Python
Backcountry旗下的户外商品闪购网站:steep&cheap
2016/09/22 全球购物
职专应届生求职信
2013/11/16 职场文书
医疗专业毕业生求职信
2014/08/28 职场文书
通知的格式范文
2015/04/27 职场文书
环保建议书作文300字
2015/09/14 职场文书
OpenCV-Python实现人脸美白算法的实例
2021/06/11 Python
springboot集成redis存对象乱码的问题及解决
2022/06/16 Java/Android