P​H​P​ ​5​.​3​连​接​s​q​l​ ​s​e​r​v​e​r​ ​2​0​0​8​ ​R​2

我的机器为:
xp sp3
sql server 2008 developer apache 2.2.2
php 5.3 
从5.3开始,php就不再提供mssql.dll了,所以要php连接sql server 2008/2012必须要使用微软提供的sql server for php 2.0/3.0了。

有必要提醒一下,php5.4必须要3.0和Microsoft SQL Server 2012 Native Client。 php官方帮助
http://php.net/manual/zh/sqlsrv.requirements.php
Microsoft Drivers 3.0/2.0 for PHP for SQL Server
http://www.microsoft.com/en-us/download/details.aspx?id=20098 

同时Microsoft SQL Server 2012/2008 Native Client(如果你安装了sql server 默认应该就有了对应的版本)
http://msdn.microsoft.com/zh-cn/aa937733    

2005或者2008,版本为9,10 http://go.microsoft.com/fwlink/?LinkID=239647 x86版本为11 http://go.microsoft.com/fwlink/?LinkID=239648 x64 
我的5.3是直接使用wamp集成环境,下载地址

http://www.wampserver.com/en/

P​H​P​ ​5​.​3​连​接​s​q​l​ ​s​e​r​v​e​r​ ​2​0​0​8​ ​R​2

P​H​P​ ​5​.​3​连​接​s​q​l​ ​s​e​r​v​e​r​ ​2​0​0​8​ ​R​2

P​H​P​ ​5​.​3​连​接​s​q​l​ ​s​e​r​v​e​r​ ​2​0​0​8​ ​R​2

P​H​P​ ​5​.​3​连​接​s​q​l​ ​s​e​r​v​e​r​ ​2​0​0​8​ ​R​2

P​H​P​ ​5​.​3​连​接​s​q​l​ ​s​e​r​v​e​r​ ​2​0​0​8​ ​R​2

将动态连接库安装到php5.3的ext目录下

P​H​P​ ​5​.​3​连​接​s​q​l​ ​s​e​r​v​e​r​ ​2​0​0​8​ ​R​2

P​H​P​ ​5​.​3​连​接​s​q​l​ ​s​e​r​v​e​r​ ​2​0​0​8​ ​R​2

 
4.启动wamp,并启用要用的php_sqlsrv_*.dll之类的(如果没看到这个,请参考下面的)

P​H​P​ ​5​.​3​连​接​s​q​l​ ​s​e​r​v​e​r​ ​2​0​0​8​ ​R​2

P​H​P​ ​5​.​3​连​接​s​q​l​ ​s​e​r​v​e​r​ ​2​0​0​8​ ​R​2

 
(你也可以在php.ini修改)

;;;;;;;;;;;;;;;;;;;;;; ; Dynamic Extensions  ;;;;;;;;;;;;;;;;;;;;;;
 
extension=php_pdo_sqlsrv_53_ts_vc9.dll 

extension=php_sqlsrv_53_ts_vc9.dll

P​H​P​ ​5​.​3​连​接​s​q​l​ ​s​e​r​v​e​r​ ​2​0​0​8​ ​R​2

使用 phpinfo()

P​H​P​ ​5​.​3​连​接​s​q​l​ ​s​e​r​v​e​r​ ​2​0​0​8​ ​R​2

<?PHP

header("Content-Type:text/html;charset=utf-8");
            $serverName = "192.168.50.5,1433"; //local
             $database = "DaDianDS";
             $uid = "sa";
            $pwd = "123456";
             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 );
             }
echo "Connected to SQL Server ";
$query = 'select top 2 * from C_Host';
//             $query = 'select count(*) from C_Host';
            $stmt = $conn->query( $query );
//             $count=$stmt->fetchColumn(0);
//             if(is_array($count)) {echo 'xx';} else{ echo $count;}
//             //echo $count;
            
// //             var_dump($stmt->fetchAll(PDO::FETCH_ASSOC));
            
            while ( $row = $stmt->fetch( PDO::FETCH_ASSOC ) ){
                 var_dump($row);
            }
             $stmt = null;
             $conn = null;
?>