您好,欢迎访问一九零五行业门户网

PHP连接MSSQL数据库(SQLSRV)实例

php连接mssql2008/2005数据库与以往的连接mssql2000是不一样的,连接mssql2008/2005是需要自己添加php对mssql连接的驱动扩展了,而我们常用的hp.ini中的extension=php_mssql.dll扩展只适用连接于mssql2000,下面我们就来看看对此的解决办法。
1.下载扩展
(1)去官方下载一个sql server driver for php的扩展包,我是在这里下载的http://www.microsoft.com/en-us/download/details.aspx?id=20098【记得下载后好像是要先安装然后再解压】
(2)您也可以直接从本站下载(我之前下载的,来源于microsoft官方)【点击此处直接下载】
将下载下来的rar文件解压后你就会得到一堆的.dll文件
下载驱动程序,下载后安装释放程序,里面有以下文件:
php_pdo_sqlsrv_52_nts.dll
php_pdo_sqlsrv_52_ts.dll
php_pdo_sqlsrv_53_nts_vc6.dll
php_pdo_sqlsrv_53_nts_vc9.dll
php_pdo_sqlsrv_53_ts_vc6.dll
php_pdo_sqlsrv_53_ts_vc9.dll
php_sqlsrv_52_nts.dll
php_sqlsrv_52_ts.dll
php_sqlsrv_53_nts_vc6.dll
php_sqlsrv_53_nts_vc9.dll
php_sqlsrv_53_ts_vc6.dll
php_sqlsrv_53_ts_vc9.dll
sqlserverdriverforphp.chm(手册,英文够好的话,可以看看,嘿嘿)
sqlserverdriverforphp_license.rtf
sqlserverdriverforphp_readme.htm(自述文件)
2.添加扩展
根据(vc6/vc9)需要选择扩展,我的环境是wamp(php5.2.6/apache2.2.8),我选用的是php_sqlsrv_52_ts_vc6.dll,php_pdo_sqlsrv_52_ts_vc6.dll这两个文件,复制到wamp安装目录下的ext目录下,我的ext目录是在wamp/bin/php/php5.2.6/ext/
3.配置php.ini
(1)在php.ini的dynamic extensions中添加如下两条扩展:
    extension=php_sqlsrv_52_ts_vc6.dll
    extension=php_pdo_sqlsrv_52_ts_vc6.dll
(2)将;extension=php_pdo.dll前面的;去掉,开启pdo连接扩展
(3)重新启动apache
4.连接数据库(pdo连接)
<?php $servern="sfkfk27el8fj\sqltry"; $coninfo=array("database"=>"try2","uid"=>"sa","pwd"=>"123"); $conn=sqlsrv_connect($servern,$coninfo) or die ("连接失败!"); $val=sqlsrv_query($conn,"select * from usertable"); while($row=sqlsrv_fetch_array($val)){ echo $row[1]."<br />"; } sqlsrv_close($conn); ?>
5.例子
链接示例:
mssql_lib.php文件如下:
<?php class db { var $con = null; function __construct($dbhost,$dbuser,$dbpass,$dbname) { $connectioninfo = array("uid"=>$dbuser,"pwd"=>$dbpass,"database"=>$dbname); $this->con = sqlsrv_connect($dbhost,$connectioninfo); } function query($sql){ $result = sqlsrv_query($this->con, $sql); } function getrow($sql){ $result = sqlsrv_query($this->con, $sql); $arr = array(); while($row = sqlsrv_fetch_array($result)) { $arr[] = $row; } return $arr[0]; } function getall($sql){ $result = sqlsrv_query($this->con, $sql); $arr = array(); while($row = sqlsrv_fetch_array($result)) { $arr[] = $row; } return $arr; } function __destruct() { unset($con); } }
test.php页面如下:
//简单调用 $db = new db(db_host, db_user, db_pass, db_name); $sql = "select * from crm_order_batch where (status=0 or status is null) and lock_id is not null "; $orders_add_list = $db->getall($sql);
相关推荐:
如何操作mssql查询数据分页、
php 连接mssql的方法
mysql 数据库 source 命令详解_mssql
以上就是php连接mssql数据库(sqlsrv)实例的详细内容。
其它类似信息

推荐信息