2009-10-30 160 views
2

我向PHP腳本發出AJAX GET請求,將文本字段中的值與數據庫中的每個字符的值進行比較 - 這在我的筆記本電腦(Windows)上可以流暢且美觀地工作。PHP腳本適用於筆記本電腦,但不適用於服務器

我將腳本傳輸到運行Windows Server 2003的計算機,它試圖發出GET請求,但它返回「500 Internal Server Error」?!

這是怎麼回事? PHP腳本如下:

include('includes/db-connect.php'); 
$connectionInfo = array('Database' => 'TYn_Motor'); 
$conn = sqlsrv_connect($serverName, $connectionInfo); 
if($conn){ 
    $tsql = "SELECT * FROM Monitor_User_Session WHERE Session_ID = '".$_GET['session_id']."'"; 
    $stmt = sqlsrv_query($conn, $tsql); 
    if($stmt !== null) { 
     if(sqlsrv_has_rows($stmt) === false){ 
      echo '0';   
     }else{ 
      echo '1'; 
     } 
    }else{ 
     echo '1'; 
     //die(print_r(sqlsrv_errors(), true)); 
    } 
}else{ 
     echo '1'; 
    //echo 'Database Connection could not be Established'; 
} 
sqlsrv_close($conn); 

任何人都可以看到什麼可能會導致問題?

包含只是一行 - 設置變量$ serverName。我在我的筆記本電腦上運行PHP 5.3.0,服務器運行PHP 5.2.9。

+0

您在筆記本電腦上使用了哪些服務器軟件(如Apache)以及您在服務器上使用了哪些軟件? – Bobby 2009-10-30 10:22:04

+0

我在我的筆記本電腦上使用Apache,與服務器相同。 – Abs 2009-10-30 10:23:20

+0

這不是數據庫連接問題,因爲我已連接到數據庫。 – Abs 2009-10-30 10:24:48

回答

5

如果生產服務器的display_errors設置爲off,則可能會拋出常規PHP錯誤(例如,缺少擴展名),但不顯示任何內容。嘗試在腳本的開頭放置ini_set('display_errors', true)

+1

謝謝。首先應該這樣做。出於奇怪的原因,我得到sqlsrv_has_rows是一個未定義的函數,即使安裝了sql服務器驅動程序和其他sql服務器調用工作 - 但這是stackoverflow的另一個問題,如果我無法弄清楚! :) – Abs 2009-10-30 10:32:07

相關問題