2011-08-17 52 views
0

我知道一些關於如何在使用PHP時調試和處理錯誤。但是,這是一個異常。爲什麼在我的服務器上使用PHP Mysqli_fetch_row而不使用Mysqli_fetch_assoc?

在我通過mysqli成功創建了一個到我的Mysql數據庫的連接之後,我嘗試從中得到結果。

if($result = $db->query($query)) { 

$num_results = $result->num_rows; 
echo "<p> Number of books found: ".$num_results."</p>"; 
$row = $result->fetch_assoc(); //no problem if I use fetch_row 

怪異的事情發生了,整個頁面崩潰,瀏覽器顯示「網頁無法顯示」。

我嘗試確定問題並將行替換爲「$ row = $ result-> fetch_assoc();」 「$ row = $ result-> fetch_row();」並且它成功地從數據庫中獲取結果(爲了簡潔,我沒有在這裏顯示上面/下面的代碼)。

原來,「fetch_array」和「fetch_object」也失敗了。編碼的另一部分工作很好,一旦我評論出來。所以我只是想知道fetch_row是如何工作的,但「fetch_array/object/assoc」似乎使整個頁面崩潰(不僅僅是函數本身,也沒有PHP錯誤信息)。

回答

0

你看不到的錯誤,那是因爲你沒有啓用的錯誤,我相信你沒有使用正確的函數調用fetch arrayfetch association,在類搜尋合適的功能,我相信fetch_array()fetch_assoc()在PHP中引發致命錯誤。

在您的apache日誌中搜索。

試着在你的PHP文件中添加在最前面:

ini_set('display_errors', E_ALL); 
error_reporting(E_ALL); 
+0

我終於想通了這個問題。它在於Mysql和PHP(版本不匹配)的不兼容性。我別無選擇,只能使用Wamp重新安裝整個包。代碼本身就很好,這就是爲什麼我根本找不到問題。不管怎麼說,還是要謝謝你!!! – quincent

相關問題