幾個月前,我有完全相同的錯誤,這是什麼爲我工作。
首先爲sqlsrv驅動程序工作,你將需要32位WAMP服務器它不能與64位WAMP一起使用。
我使用php_sqlsrv_55_ts DLL文件,我可以在WAMP中的PHP中運行我的查詢。
現在,這裏是它變得有趣。我假設你將在基於Linux的服務器上運行你的系統?
如果是這種情況sqlsrv不能在基於Linux的操作系統上工作,所以您將不得不在Linux操作系統上使用mssql驅動程序。 Here is a link進行設置。
最後,您需要編寫一個自定義函數來檢查您的PHP擴展,然後根據您運行它們的位置選擇正確的驅動程序。
這是我創建的一個函數,用於查看哪個驅動器已加載並確定使用哪個驅動器。
// Function to check which MS SQL database driver is loaded
function get_db_loaded_extension() {
// Assign php loaded extensions to an array variable
$php_loaded_extensions_array = get_loaded_extensions();
// Loop through each php extension in the array
foreach($php_loaded_extensions_array as $php_ext) {
// Switch to check which MS SQL database driver is loaded
switch($php_ext) {
case "mssql":
$return = "mssql";
break;
case "sqlsrv":
$return = "sqlsrv";
break;
}
}
// Check if a MS SQL database driver have been found
if(!isset($return)) {
$return = js_dialog("No Microsoft SQL database driver loaded.");
}
return $return;
}
正如一個例子,這裏也是如何創建連接。
// Call function to check which MS SQL database driver extension is loaded
$mssql_db_driver = get_db_loaded_extension();
// Switch to determine how to make the appropriate connection
switch($mssql_db_driver) {
case "mssql":
// Set the MSSQL database variables
$mssql_servername = "xxx.xxx.xxx.xxx";
$mssql_username = "my_user";
$mssql_password = "**********";
// Create conection to MSSQL using the mssql php extension
$mssql_conn = mssql_connect($mssql_servername, $mssql_username, $mssql_password);
break;
case "sqlsrv":
// Set the MSSQL database variables
$mssql_servername = "xxx.xxx.xxx.xxx";
$mssql_conn_info = array(
"UID" => "my_user",
"PWD"=> "**********"
);
// Create conection to MSSQL using the sqlsrv php extension
$mssql_conn = sqlsrv_connect($mssql_servername, $mssql_conn_info);
break;
default:
echo $mssql_db_driver;
break;
}
// Check the MSSQL connection
if(!$mssql_conn) {
exit("Could not connect to the database. Please contact the administrator.");
}
@PaulCrovella我想確保我沒有寄託都正確..所以讓更多的選擇給他人使用圖像找到我的錯也不錯,這樣只有我試過.. – TomPHP