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语法(5)
Oct 09 PHP
PHP的FTP学习(一)
Oct 09 PHP
php判断数组元素中是否存在某个字符串的方法
Jun 14 PHP
php与flash as3 socket通信传送文件实现代码
Aug 16 PHP
php返回json数据函数实例
Oct 09 PHP
php关键字仅替换一次的实现函数
Oct 29 PHP
浅析Yii2 gridview实现批量删除教程
Apr 22 PHP
PHP设计模式之装饰器模式实例详解
Feb 07 PHP
PHP+RabbitMQ实现消息队列的完整代码
Mar 20 PHP
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
Aug 23 PHP
php操作redis数据库常见方法实例总结
Feb 20 PHP
Yii框架应用组件用法实例分析
May 15 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
php5.3中连接sqlserver2000的两种方法(com与ODBC)
2012/12/29 PHP
解析mysql中UNIX_TIMESTAMP()函数与php中time()函数的区别
2013/06/24 PHP
PHP字符串的递增和递减示例介绍
2014/02/11 PHP
php 三大特点:封装,继承,多态
2017/02/19 PHP
Nginx实现反向代理
2017/09/20 Servers
php封装单文件上传到数据库(路径)
2017/10/15 PHP
Exjs 入门篇
2010/04/07 Javascript
JS模板实现方法
2013/04/03 Javascript
jquery删除提示框弹出是否删除对话框
2014/01/07 Javascript
前端轻量级MVC框架CanJS详解
2014/09/26 Javascript
jquery+html5制作超酷的圆盘时钟表
2015/04/14 Javascript
JS组件Bootstrap Table使用方法详解
2016/02/02 Javascript
jQuery判断元素是否显示 是否隐藏的简单实现代码
2016/05/19 Javascript
原生js封装二级城市下拉列表的实现代码
2016/06/16 Javascript
jQuery EasyUI Tab 选项卡问题小结
2016/08/16 Javascript
jQuery实现验证码功能
2017/03/17 Javascript
老生常谈angularjs中的$state.go
2017/04/24 Javascript
JavaScript 巧学巧用
2017/05/23 Javascript
js纯前端实现腾讯cos文件上传功能的示例代码
2019/05/14 Javascript
微信小程序 腾讯地图显示偏差问题解决
2019/07/27 Javascript
微信小程序实现带放大效果的轮播图
2020/05/26 Javascript
使用Python判断IP地址合法性的方法实例
2014/03/13 Python
python使用mailbox打印电子邮件的方法
2015/04/30 Python
Python数据分析之获取双色球历史信息的方法示例
2018/02/03 Python
Python 12306抢火车票脚本
2018/02/07 Python
python按时间排序目录下的文件实现方法
2018/10/17 Python
Flask框架工厂函数用法实例分析
2019/05/25 Python
使用tensorflow实现VGG网络,训练mnist数据集方式
2020/05/26 Python
如何在Canvas中添加事件的方法示例
2019/05/21 HTML / CSS
澳大利亚拥有最好的家具和家居用品在线目的地:Nestz
2019/02/23 全球购物
如何进行Linux分区优化
2016/09/13 面试题
会计学自我鉴定
2014/02/06 职场文书
英语教育专业毕业生求职信
2014/08/28 职场文书
教育项目合作协议书格式
2014/10/17 职场文书
MySQL系列之一 MariaDB-server安装
2021/07/02 MySQL
浅谈Redis缓冲区机制
2022/06/05 Redis