注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

面包会有的

php asp 高端网站开发 微信网站开发 视频会议软硬件

 
 
 

日志

 
 

使用pdo连接mssql server 2008r2  

2017-05-16 21:47:56|  分类: PHP |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
使用pdo连接mssql server 2008r2 - 加菲 - 面包会有的

使用pdo连接mssql server 2008r2 - 加菲 - 面包会有的

使用pdo连接mssql server 2008r2 - 加菲 - 面包会有的

 使用pdo连接mssql server 2008r2 - 加菲 - 面包会有的
  
try {
   $conn = new PDO( "sqlsrv:Server=localhost;Database=test","sa", "123456"); 
   $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
}

catch( PDOException $e ) {
   die( "Error connecting to SQL Server".$e->getMessage() ); 
}

echo "Connected to SQL Server/n";

$query = 'select * from news'; 
$stmt = $conn->query( $query ); 

//var_dump($stmt);

while ( $row = $stmt->fetch( PDO::FETCH_ASSOC ) ){ 
echo "<br>".$row['id']."---".$row['content'];
   //print_r( $row ); 
}

 

此代码可成功查询到数据库中的记录

http://blog.csdn.net/yanch7/article/details/6335911


一、安装SQL Driver for PHP 2.0

下载SQL Driver for PHP2.0,地址是:http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx

解压后根据PHP的版本选择对应的.dll文件,放入PHP扩展目录。PHP版本对应的.dll是(在压缩包内的SQLSRV_Readme.html里):

Driver file

PHP version

Thread safe?

Use with PHP .dll

php_sqlsrv_53_nts_vc6.dll

php_pdo_sqlsrv_53_nts_vc6.dll

5.3

no

php5.dll

php_sqlsrv_53_nts_vc9.dll

php_pdo_sqlsrv_53_nts_vc9.dll

5.3

no

php5.dll

php_sqlsrv_53_ts_vc6.dll

php_pdo_sqlsrv_53_ts_vc6.dll

5.3

yes

php5ts.dll

php_sqlsrv_53_ts_vc9.dll

php_pdo_sqlsrv_53_ts_vc9.dll

5.3

yes

php5ts.dll

php_sqlsrv_52_nts_vc6.dll

php_pdo_sqlsrv_52_nts_vc6.dll

5.2

no

php5.dll

php_sqlsrv_52_ts_vc6.dll

php_pdo_sqlsrv_52_ts_vc6.dll

5.2

yes

php5ts.dll

接下来修改PHP.ini文件,添加以下几条命令(以PHP5.2,Thread Safe版本为例):

 

extension=php_pdo.dll
extension=php_sqlsrv_52_ts_vc6.dll
extension=php_pdo_sqlsrv_52_ts_vc6.dll
完成后重启Apache,通过phpinfo();查看安装结果。如果出现PDO_sqlsrv一栏,就说明驱动安装成功。
二、连接数据库
连接SQL Server 2008有两种方式,即Windows认证和Windows与SQL的混合认证。对于两种认证,使用的连接方式也有所不同。
使用Windows认证连接时,代码为:
<?php
try {
   $conn = new PDO( "sqlsrv:Server=服务器IP地址;Database=数据库名",NULL, NULL); 
   $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
}

catch( PDOException $e ) {
   die( "Error connecting to SQL Server".$e->getMessage() ); 
}

echo "Connected to SQL Server/n";

$query = 'select * from 表名'; 
$stmt = $conn->query( $query ); 
while ( $row = $stmt->fetch( PDO::FETCH_ASSOC ) ){ 
   print_r( $row ); 
}
?>
 

使用混合认证模式时,代码为:

<?php

   $serverName = "服务器IP地址"; 

   $database = "数据库名";

 

   // Get UID and PWD from application-specific files. 

   $uid = file_get_contents("C:/AppData/uid.txt");

   $pwd = file_get_contents("C:/AppData/pwd.txt");

 

   try {

      $conn = new PDO( "sqlsrv:server=$serverName;Database = $database", $uid, $pwd); 

      $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); 

   }

 

   catch( PDOException $e ) {

      die( "Error connecting to SQL Server".$e->getMessage() ); 

   }

 

   echo "Connected to SQL Server/n";

 

   $query = 'select * from 表名'; 

   $stmt = $conn->query( $query ); 

   while ( $row = $stmt->fetch( PDO::FETCH_ASSOC ) ){ 

      print_r( $row ); 

   }

 

   // Free statement and connection resources. 

   $stmt = null; 

   $conn = null; 

?>

 

在使用混合认证时,微软建议尽量避免使用“sa”作为用户ID,而且用户名和密码不要直接出现在代码中,而是写入服务器上某一文件内,以保证数据库的安全。

更多信息可查看压缩包内提供的文档SQLSRV_Help.chm

  评论这张
 
阅读(39)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017