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版本
:http://download.csdn.net/detail/xxhysj/4793158
2.SQL Server Driver for PHP3.0版本適用於PHP 5.3.x版本
:http://download.csdn.net/detail/xxhysj/4793176
具體操作如下:
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.dll
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.</br>"; die( print_r( sqlsrv_errors(), true));}/* Query SQL Server for the login of the user accessing thedatabase. */$tsql = "SELECT CONVERT(varchar(32), SUSER_SNAME())";$stmt = sqlsrv_query( $conn, $tsql);if( $stmt === false ){ echo "Error in executing query.</br>"; die( print_r( sqlsrv_errors(), true));}/* Retrieve and display the results of the query. */$row = sqlsrv_fetch_array($stmt);echo "User login: ".$row[0]."</br>";/* 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 包含以下函數:
函數 |
說明 |
sqlsrv_begin_transaction |
開始事務。 |
sqlsrv_cancel |
取消語句;並放棄相應語句的所有未決結果。 |
sqlsrv_client_info |
提供有關用戶端的資訊。 |
sqlsrv_close |
關閉串連。釋放與相應串連關聯的所有資源。 |
sqlsrv_commit |
提交事務。 |
sqlsrv_configure |
更改錯誤處理和日誌記錄配置。 |
sqlsrv_connect |
建立一個串連,並將其開啟。 |
sqlsrv_errors |
返回關於上一操作的錯誤和/或警告資訊。 |
sqlsrv_execute |
執行預定義語句。 |
sqlsrv_fetch |
使下一行的資料可供讀取。 |
sqlsrv_fetch_array |
以數值索引數組、關聯陣列或這兩種數組的形式檢索下一行的資料。 |
sqlsrv_fetch_object |
以對象形式檢索下一行的資料。 |
sqlsrv_field_metadata |
返回欄位中繼資料。 |
sqlsrv_free_stmt |
關閉語句。釋放與相應語句關聯的所有資源。 |
sqlsrv_get_config |
返回指定配置設定的值。 |
sqlsrv_get_field |
按索引檢索當前行中的欄位。可以指定 PHP 傳回型別。 |
sqlsrv_has_rows |
檢測結果集是否具有一行或多行。 |
sqlsrv_next_result |
使下一結果可供處理。 |
sqlsrv_num_rows |
報告結果集中的行數。 |
sqlsrv_num_fields |
檢索活動結果集中的欄位數。 |
sqlsrv_prepare |
準備 Transact-SQL 查詢,但不執行該查詢。隱式綁定參數。 |
sqlsrv_query |
準備 Transact-SQL 查詢,並將其執行。 |
sqlsrv_rollback |
復原事務。 |
sqlsrv_rows_affected |
返回有所修改的行的數目。 |
sqlsrv_send_stream_data |
在每次調用函數時向伺服器發送最多八KB (8 KB) 的資料。 |
sqlsrv_server_info |
提供有關伺服器的資訊。 |
原文地址:http://blog.csdn.net/xxhysj/article/details/8207982