PHP自帶的php_mssql.dll文件已經滿足不了sql server2005及其以上版本的使用了。微軟也隨之發布了SQL Server Driver for PHP來做相應的支持。
其中SQL Server Driver for PHP有兩個版本支持不同的php版本。
1.SQL Server Driver for PHP2.0版本適用於PHP 5.2.x版本
2.SQL Server Driver for PHP3.0版本適用於PHP 5.3.x版本
具體操作如下:
1)按上述地址下載驅動包;
2)將DLL文件解壓到PHP extension_dir目錄
extension_dir = "X:\PHP\ext"
3)在php.ini配置文件內引用相應的動態鏈接庫文件
extension=php_sqlsrv_52_ts_vc6.dll
extension=php_pdo_sqlsrv_52_ts_vc6.dll
extension=php_pdo_sqlsrv_52_ts_vc6.dll
extension=php_pdo.dll
4)重啟Apache
4)重啟Apache
5)連接數據庫
- /* Specify the server and connection string attributes. */
- $serverName = "(local)" ;
- $connectionInfo = array ( "Database" => "AdventureWorks" );
- /* Connect using Windows Authentication. */
- $conn = sqlsrv_connect( $serverName , $connectionInfo );
- if ( $conn === false )
- {
- echo "Unable to connect." ;
- die ( print_r( sqlsrv_errors(), true));
- }
- /* Query SQL Server for the login of the user accessing the
- database. */
- $tsql = "SELECT CONVERT(varchar(32), SUSER_SNAME())" ;
- $stmt = sqlsrv_query( $conn , $tsql );
- if ( $stmt === false )
- {
- echo "Error in executing query." ;
- die ( print_r( sqlsrv_errors(), true));
- }
- /* Retrieve and display the results of the query. */
- $row = sqlsrv_fetch_array( $stmt );
- echo "User login: " . $row [0]. "" ;
- /* Free statement and connection resources. */
- sqlsrv_free_stmt( $stmt );
- sqlsrv_close( $conn );
- ?>
注:API 參考(SQL Server Driver for PHP)
用於SQL Server Driver for PHP的API名稱是sqlsrv。所有sqlsrv函數都以sqlsrv_打頭,後跟動詞或名詞。後跟動詞的函數用於執行特定操作,而後跟名詞的函數用於返回特定形式的元數據。
SQL Server
Driver for PHP 包含以下函數:
函數
|
說明
|
開始事務。
|
|
取消語句;並放棄相應語句的所有未決結果。
|
|
提供有關客戶端的信息。
|
|
關閉連接。釋放與相應連接關聯的所有資源。
|
|
提交事務。
|
|
更改錯誤處理和日誌記錄配置。
|
|
創建一個連接,並將其打開。
|
|
返回關於上一操作的錯誤和/或警告信息。
|
|
執行預定義語句。
|
|
使下一行的數據可供讀取。
|
|
以數值索引數組、關聯數組或這兩種數組的形式檢索下一行的數據。
|
|
以對象形式檢索下一行的數據。
|
|
返回字段元數據。
|
|
關閉語句。釋放與相應語句關聯的所有資源。
|
|
返回指定配置設置的值。
|
|
按索引檢索當前行中的字段。可以指定PHP 返回類型。
|
|
檢測結果集是否具有一行或多行。
|
|
使下一結果可供處理。
|
|
報告結果集中的行數。
|
|
檢索活動結果集中的字段數。
|
|
準備Transact-SQL 查詢,但不執行該查詢。隱式綁定參數。
|
|
準備Transact-SQL 查詢,並將其執行。
|
|
回滾事務。
|
|
返回有所修改的行的數目。
|
|
在每次調用函數時向服務器發送最多八千字節(8 KB) 的數據。
|
|
提供有關服務器的信息。
|
沒有留言:
張貼留言