PHP 5.3.8 成功连接 SQL Server 2005
- 下载微软提供的dll
地址:下载DLL组件
我下的SQLSRV30.EXE,这个exe是一个自解压文件,下载后双击选路径解压会得到一堆dll和说明文件。 - 将对应自己PHP版本的dll文件copy到php
ext
目录下
ts是指线程安全(ThreadSafe
),nts
是指线程不安全,得根据安装的php版本来选择,如果不确定,就分别尝试一下;
我用的php5.4,就将php_sqlsrv_54_ts.dll复制到ext目录下,
例如:D:\Program Files\PHP 5.4\ext
- 修改php.ini文件
增加一行: extension=php_sqlsrv_54_ts.dll
修改一行 : mssql.secure_connection = Off改为on - 重启apache
- 配置MS SQL Server2005
- 打开 SQL Server 配置管理器:SQL Server Configuration Manager,打开协议;
- 启用“Named Pipes”和“TCP/IP”,默认是已禁用的;
- 右键点击“TCP/IP”,选择“属性”,选择“IP地址”,在”ALLIP“下的“TCP动态端口”后填写1433;
- 重启SQL Server。
- 备注:记得开启sa登录。
- 安装Microsoft SQL Server 2012 Native Client.msi
根据自己系统在PHP服务器所在机器安装Microsoft SQL Server 2012 Native Client.msi,分X64和X86的。
点击下载组件
注意!!!此工具不支持XP系统哦,所以XP去用PHP5.3吧~ - php代码
$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', '牛叉的中文表名');
$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);
}