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中Session的概念
Oct 09 PHP
php网页后退不再出现过期
Mar 08 PHP
php不用正则采集速度探究总结
Mar 24 PHP
php Smarty date_format [格式化时间日期]
Mar 15 PHP
php设计模式 Adapter(适配器模式)
Jun 26 PHP
探讨:php中在foreach中使用foreach ($arr as &amp;$value) 这种类型的解释
Jun 24 PHP
thinkphp实现图片上传功能分享
Mar 04 PHP
基于php的CMS中展示文章类实例分析
Jun 18 PHP
php随机显示指定文件夹下图片的方法
Jul 13 PHP
ThinkPHP中Common/common.php文件常用函数功能分析
May 20 PHP
php 生成签名及验证签名详解
Oct 26 PHP
PHP的重载使用魔术方法代码实例详解
Feb 26 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代码 用PHP写出自己的BLOG系统
2010/04/12 PHP
PHP 调试工具Debug Tools
2011/04/30 PHP
php+mysqli预处理技术实现添加、修改及删除多条数据的方法
2015/01/30 PHP
php示例详解Constructor Prototype Pattern 原型模式
2015/10/15 PHP
设定php简写功能的方法
2019/11/28 PHP
javascript 自动填写表单的实现方法
2010/04/09 Javascript
js实现在页面上弹出蒙板技巧简单实用
2013/04/16 Javascript
基于HTML5上使用iScroll实现下拉刷新,上拉加载更多
2016/05/21 Javascript
JavaScript中浅讲ajax图文详解
2016/11/11 Javascript
vue 2.0项目中如何引入element-ui详解
2017/09/06 Javascript
vue+express 构建后台管理系统的示例代码
2018/07/19 Javascript
angular6根据environments配置文件更改开发所需要的环境的方法
2019/03/06 Javascript
Vue Element UI + OSS实现上传文件功能
2019/07/31 Javascript
基于vue手写tree插件的那点事儿
2019/08/20 Javascript
JS数组方法reduce的用法实例分析
2020/03/03 Javascript
在pycharm中开发vue的方法步骤
2020/03/04 Javascript
Js生成随机数/随机字符串的方法小结【5种方法】
2020/05/27 Javascript
[03:34]2014DOTA2西雅图国际邀请赛 淘汰赛7月15日TOPPLAY
2014/07/15 DOTA
[00:02]DOTA2新版本使用PA至宝后暴击展示
2014/11/19 DOTA
python学习数据结构实例代码
2015/05/11 Python
python中子类调用父类函数的方法示例
2017/08/18 Python
Django Admin 实现外键过滤的方法
2017/09/29 Python
Python3 加密(hashlib和hmac)模块的实现
2017/11/23 Python
Django在pycharm下修改默认启动端口的方法
2019/07/26 Python
Python数据可视化:顶级绘图库plotly详解
2019/12/07 Python
Python 写了个新型冠状病毒疫情传播模拟程序
2020/02/14 Python
Django serializer优化类视图的实现示例
2020/07/16 Python
用OpenCV进行年龄和性别检测的实现示例
2021/01/29 Python
EJB3推出JPA的原因
2013/10/16 面试题
Java的类可以定义为Protected或者Private得吗
2015/09/25 面试题
基层党员干部四风问题整改方向和措施
2014/09/25 职场文书
夫妻婚内购房协议书
2014/10/05 职场文书
党的群众路线教育实践活动整改方案
2014/10/28 职场文书
硕士学位论文评语
2014/12/31 职场文书
Python图像处理之图像拼接
2021/04/28 Python
利用Python多线程实现图片下载器
2022/03/25 Python