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超级全局变量
Jan 26 PHP
php 无限级分类学习参考之对ecshop无限级分类的解析 带详细注释
Mar 23 PHP
PHP采集腾讯微博的实现代码
Jan 19 PHP
Yii结合CKEditor实现图片上传功能
Jun 13 PHP
浅析ThinkPHP中execute和query方法的区别
Jun 13 PHP
php实现在限定区域里自动调整字体大小的类实例
Apr 02 PHP
PHP中empty和isset对于参数结构的判断及empty()和isset()的区别
Nov 15 PHP
Yii2使用dropdownlist实现地区三级联动功能的方法
Jul 18 PHP
Smarty日期时间操作方法示例
Nov 15 PHP
老生常谈PHP面向对象之标识映射
Jun 21 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
Sep 16 PHP
php fread函数使用方法总结
May 28 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
福利彩票幸运号码自动生成器
2006/10/09 PHP
PHP文件操作方法汇总
2015/07/01 PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
2016/09/30 PHP
Yii2学习笔记之汉化yii设置表单的描述(属性标签attributeLabels)
2017/02/07 PHP
PHP实现的MD5结合RSA签名算法实例
2017/10/07 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
2020/02/28 PHP
jquery实现带二级菜单的导航示例
2014/04/28 Javascript
js判断横竖屏及禁止浏览器滑动条示例
2014/04/29 Javascript
ECMAScript 5严格模式(Strict Mode)介绍
2015/03/02 Javascript
Javascript中的方法链(Method Chaining)介绍
2015/03/15 Javascript
JavaScript实现可拖拽的拖动层Div实例
2015/08/05 Javascript
AngularJS基础 ng-paste 指令简单示例
2016/08/02 Javascript
selenium 与 chrome 进行qq登录并发邮件操作实例详解
2017/04/06 Javascript
JavaScript中使用参数个数实现重载功能
2017/09/01 Javascript
vue实现选项卡及选项卡切换效果
2018/04/24 Javascript
vue项目中jsonp跨域获取qq音乐首页推荐问题
2018/05/30 Javascript
vue组件之间通信实例总结(点赞功能)
2018/12/05 Javascript
JavaScript使用闭包模仿块级作用域操作示例
2019/01/21 Javascript
jQuery实现动态生成年月日级联下拉列表示例
2019/05/11 jQuery
利用JavaScript的Map提升性能的方法详解
2019/08/14 Javascript
通过微信公众平台获取公众号文章的方法示例
2019/12/25 Javascript
python操作mysql中文显示乱码的解决方法
2014/10/11 Python
Linux 修改Python命令的方法示例
2018/12/03 Python
使用python将最新的测试报告以附件的形式发到指定邮箱
2019/09/20 Python
pytorch中tensor张量数据类型的转化方式
2019/12/31 Python
Flask-SocketIO服务端安装及使用代码示例
2020/11/26 Python
python基于opencv 实现图像时钟
2021/01/04 Python
飞利浦比利时官方网站:Philips比利时
2016/08/24 全球购物
复古斯堪的纳维亚儿童服装:Baby go Retro
2017/09/09 全球购物
俄罗斯童装网上商店:BebaKids
2020/06/06 全球购物
如何将字串String转换成整数int
2015/02/21 面试题
买卖车协议书
2014/04/21 职场文书
努力学习演讲稿
2014/05/10 职场文书
大学生赌博检讨书
2014/09/22 职场文书
2014年电话销售工作总结
2014/12/01 职场文书
2015年行政助理工作总结
2015/04/30 职场文书