微軟的PHP連接SQL Server數據庫 (Microsoft Drivers for PHP for SQL Server )


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 the
database. */
$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 在每次調用函數時向服務器發送最多八千字節 (8 KB) 的數據。
sqlsrv_server_info 提供有關服務器的信息。

原文地址:http://blog.csdn.net/xxhysj/article/details/8207982


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM