PHP 5.4 成功连接 SQL Server 2005 ;SQLSRV30.EXE;php_sqlsrv_54_ts.dll
1、下载微软提供的dll
地址:http://www.microsoft.com/en-us/download/details.aspx?id=20098
我下的SQLSRV30.EXE,这个exe是一个自解压文件,下载后双击选路径解压会得到一堆dll和说明文件。
2、将对应自己php版本的dll文件copy到php ext目录下
ts是指线程安全(ThreadSafe),nts是指线程不安全,得根据安装的php版本来选择,如果不确定,就分别尝试一下;
我用的php5.4,就将php_sqlsrv_54_ts.dll复制到ext目录下,
例如:D:Program FilesPHP 5.4ext
3、修改php.ini文件
增加一行: extension=php_sqlsrv_54_ts.dll
修改一行 : mssql.secure_connection = Off改为on
4、重启apache
5、配置MS SQL Server2005
a、打开 SQL Server 配置管理器:SQL Server Configuration Manager,打开协议;
b、启用“Named Pipes”和“TCP/IP”,默认是已禁用的;
c、右键点击“TCP/IP”,选择“属性”,选择“IP地址”,在”ALLIP“下的“TCP动态端口”后填写1433;
d、重启SQL Server。
备注:记得开启sa登录。
6、安装Microsoft SQL Server 2012 Native Client.msi
根据自己系统在PHP服务器所在机器安装Microsoft SQL Server 2012 Native Client.msi,分X64和X86的。
http://www.softpedia.com/get/Internet/Servers/Server-Tools/SQL-Server-Native-Client.shtml
此工具不支持XP系统哦,所以XP去用PHP5.3吧~
7、php代码
<?
/*连接数据库,5.4的函数不再是mssql_connect了:*/
$conInfo=array('Database'=>'osbst', 'UID'=>'sa', 'PWD'=>'123456');
$conn=sqlsrv_connect('192.168.1.208', $conInfo);
/*判断连接成功与否:*/
if( $conn == false )
{
die( print_r( sqlsrv_errors(), true));
}
else
{
echo("yes<br>");
}
$table_name = 'table_name';
/*如果你牛叉的数据库表名是中文,记得加上这句:*/
$table_name = iconv('UTF-8', 'GB2312', '牛叉的中文表名');
/*query语句:*/
$rs=sqlsrv_query($conn, "select * from ".$table_name);
if($rs == false)
{
echo("false<br>");
}
else
{
while($row = sqlsrv_fetch_array($rs))
{
print_r($row);
}
sqlsrv_free_stmt($rs);
sqlsrv_close($conn);
}
?>