php连接SQLServer2008 R2

PHP自带的MSSQL扩展php_mssql.dll是给SQL Server 2000用的,连接不上2008! -_-!!要使用SQL Server 2005以上版本,就要用到微软为PHP提供的最新第三方扩展SQL Server Driver for PHP才行,最新版本是3.0的,下载地址:
http://www.microsoft.com/en-us/download/details.aspx?id=20098

记住,里面的2.0是可以在通用平台上用的,3.0只能在win7以上系统使用。如果你使用的是PHP5.3 + apache的话,用的是php_sqlsrv_53_ts_vc9.dll、php_pdo_sqlsrv_53_ts_vc9.dll,因为PHP5.3是VC9编译的,不是VC6.

header('content-type:text/html;charset=utf-8');
$c = new PDO( "sqlsrv:Server=(local) ; Database = test ", "", "", array(PDO::SQLSRV_ATTR_DIRECT_QUERY => true));

$query = 'SELECT top 10 * FROM cdsgus';
$stmt = $c->query( $query );
while ( $row = $stmt->fetch( PDO::FETCH_ASSOC ) ) {
print_r( $row );
}
$c = null;
这是人家给的示例,我喜欢用PDO,因为除了连接字符串和其它数据库不一样外,其它的操作都一样。
如果你不喜欢PDO,再给你两个例子,不过个人觉得麻烦:


1.Windows Authentication连接
<?php
$serverName = "(localhost)";
$connectionInfo = array("Database"=>"test","ConnectionPooling"=>false);
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn == false)
{
echo "连接失败!";
die( print_r( sqlsrv_errors(), true));
}
?>

2.SQL Server Authentication连接

<?php
$serverName = "localhost"; //数据库服务器地址
$uid = "sa"; //数据库用户名
$pwd = "123"; //数据库密码
$connectionInfo = array("UID"=>$uid, "PWD"=>$pwd, "Database"=>"cart");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn == false)
{
echo "连接失败!";
die( print_r( sqlsrv_errors(), true));
}
//执行有结果集的SQL语句
$query = sqlsrv_query($conn, "select * from tb_goods");
while($row = sqlsrv_fetch_array($query))
{
echo $row[0]."-----".$row[1]."<br/>";
}
//执行增删改的SQL语句
$rs=sqlsrv_query($conn,"update tb_goods set name='中国劲酒' where name='劲酒'");
$num=sqlsrv_rows_affected($rs);//返回修改的行数
if($num>0)
{
echo '修改成功!'.$num ;
}
else
{
echo '修改失败!';
}
?>

300*300
 文章首页关于迷茫时代关于我写意人生
版权所有:迷茫时代 All rights reserved   
执行时间:0.00427 秒