注明:其实没有必要拷贝所有,只要拷贝你要用的就可以了。一般的vc6用于apache,而vc9用于IIS,只要拷贝对应的两个文件再再PHP.ini中添加一下就可以了。 至于ts和nts是线程安全和非线程安全,这个只要根据php目录下的php5ts.dll或php5nts.dll来选择。
[PHP_PDO_SQLSRV]extension=php_pdo_sqlsrv_53_ts_vc6.dll
[PHP_SQLSRV]
这里的53表示的是php5.3,如果你的是5.2版,就改成52,如果你的PHP版本是线程安全的,那么你的PHP安装目录下应该有一个php5ts.dll,与这里的两行语句对应,如果是php5nts.dll,那么上面的语句应该是:
[PHP_PDO_SQLSRV]extension=php_pdo_sqlsrv_53_nts_vc6.dll
[PHP_SQLSRV]
压缩包里有各个版本对于的dll文件,大家可以去仔细核查。
开启扩展后,重启apache,这样就可以连接sqlserver了,但是还有一点要注意,如果你没有安装Microsoft SQL Server 2008 R2 Native Client,必须去(SQL.90).aspx下载安装,因为微软的这个扩展包需要这个支持。
一切妥当之后,就可以写php代码了,如果你下载了The SQL Server Driver for PHP,那么在解压缩后的文件夹里有一个帮助文档,你可以很容易的找到示例,这里介绍几个简单的例子。
例①:ind.php(文件名随意,只要后缀是.php,文件放到根目录下C:\Inetpub\wwwroot)
<?php//本地测试的服务名
"(local)";
//使用sql server身份验证,参数使用数组的形式,一次是用户名,密码,数据库名
//如果你使用的是windows身份验证,那么可以去掉用户名和密码
$connectionInfo = array( "UID"=>"root",
"PWD"=>"root2010",
"Database"=>"master");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn )
{
echo "Connection established.\n";
}
else
{
echo "Connection could not be established.\n";
die( print_r( sqlsrv_errors(), true));
}
?>
保存,然后在浏览器中输入。这个例子本来就有,但作者在添加程序时把双引号写成中文的了,只要把双引号改成英文状态的就可以运行了。
例②:aa.php(文件名随意,只要后缀是.php,文件放到根目录下C:\Inetpub\wwwroot)
<?php$Host = "192.168.1.2"; //数据库服务器地址 127.0.0.1
"sa"; //数据库用户名
$UserPasswd = "G44hHHUJ^&*(34FEDFSSDJSSCCSSdfssfsszdF54134";//数据库用户密码
"user"; //数据库名
$connectionInfo = array("UID"=>$UserName, "PWD"=>$UserPasswd, "Database"=>$DbName);
$conn = sqlsrv_connect( $Host, $connectionInfo);
if( $conn == false)
{
echo "连接失败!";
die( print_r( sqlsrv_errors(), true));
}
$query = sqlsrv_query($conn, "SELECT TOP 100 Name,Sex,PWD FROM userInf ");
if( $query === false)
{
echo "Error in query preparation/execution.\n";
die( print_r( sqlsrv_errors(), true));
}
while($row = sqlsrv_fetch_array($query,SQLSRV_FETCH_ASSOC))
{
echo $row['Name']."-".$row['Sex'].":".$row['PWD']."<br/>";
}
?>
保存,然后在浏览器中输入。这里的数据库你可以用自己的做替换。