这里是普通文章模块栏目内容页
PHP5.4 如何连接microsoft sql server
安装好xampp后,如果你的php需要访问ms sqlserver数据库,就需要这个步骤,否则会出错:
 
 
Fatal error: Call to undefined function sqlsrv_connect() in D:\appServ
 
 
windows系统下,PHP5.3以上的版本已经不支持mssql扩展,所以如果你需要和sql server通信需要到http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx自行下载微软提供的The SQL Server Driver for PHP。
 
下载后解压缩,将所有的.dll文件拷贝到php安装目录的ext文件夹中,接下来打开php.ini,添加以下语句打开php_sqlsrv和php_pdo_sqlsrv扩展:
——————————————————–
[PHP_PDO_SQLSRV]
extension=php_pdo_sqlsrv_54_ts.dll
[PHP_SQLSRV]
extension=php_sqlsrv_54_ts.dll
 
—————————————————
 
这里的54表示的是php5.4,如果你的是5.3版,就改成53,如果你的PHP版本是线程安全的,那么你的PHP安装目录下应该有一个php5ts.dll,与这里的两行语句对应,如果是php5nts.dll,那么上面的语句应该是:
—————————————————————-
[PHP_PDO_SQLSRV]
extension=php_pdo_sqlsrv_54_nts.dll
[PHP_SQLSRV]
extension=php_sqlsrv_54_nts.dll
—————————————————-
 
 
 
重启后,如果出现了这个错误:
 
PHP Startup sqlsrv Unable to initialize module
 
则表明你的php.ini中配置的dll版本、ext中放的dll版本和实际php的版本不一致。查看当前php版本的方法是:http://localhost:port/,查看php状态。
 
 
 
重启后上述错误不再出现,但是qlsrv_connect($Server,$conInfo); 却总是运行不过,打出错误信息:

$conInfo=array('Database'=>$database,'UID'=>$uid,'PWD'=>$pwd);
$link=sqlsrv_connect($Server,$conInfo); 
 
if( $link ){
// echo "Connection established.\n";
}
else{
//echo "Connection could not be established. ";
print_r( sqlsrv_errors(), true);
   if( ($errors = sqlsrv_errors() ) != null) {
foreach( $errors as $error ) {
echo "SQLSTATE: ".$error[ 'SQLSTATE']."<br />";
echo "code: ".$error[ 'code']."<br />";
echo "message: ".$error[ 'message']."<br />";
}
}
die("");
}

SQLSTATE: IMSSP<br />code: -49<br />message: This extension requires the Microsoft SQL Server 2012 Native Client...
 
下载Microsoft SQL Server 2012 Native Client进行安装。
 
这下就ok了。