2015-05-14 172 views
1

問題我遇到了一個有趣的問題,我不知道如何解決。我在XAMPP上創建了我的網站,它的工作正常。但是一旦它被上傳到服務器,我的一部分php代碼就不會被執行。我把echo語句整個代碼,以確定爲什麼我的PHP功能停止,並在這裏這種說法似乎是問題 - $row_id = mysqli_fetch_all($r, MYSQLI_ASSOC);mysqli_fetch_all()沒有執行,或與MYSQLI_ASSOC

還有更早的數據庫扳指是這樣的 -

$id = $_SESSION['admin_id']; 
$q = "SELECT user_id FROM adminsofusers WHERE admin_id = $id"; 
$r = mysqli_query($dbc, $q) or trigger_error("Query: $q\n<br> MySQL Error: " . mysqli_error($dbc)); 

我有試圖運行在$ R A mysqli_num_rows(),它返回爲1,這是它應該,所以我已經確定問題在於 $row_id = mysqli_fetch_all($r, MYSQLI_ASSOC);

一切這種說法被忽視之後,把東西在PHP腳本後,沒關係。但是,它仍然在我的本地服務器上正常工作。有任何想法嗎?可能與我的託管服務器存在問題?

+1

的MySQL原生驅動程序僅只有mysqlnd可用* - 閱讀手冊http://php.net/manual/en/mysqli-result.fetch-all。 php - *由於mysqli_fetch_all()在一個步驟中將所有行作爲數組返回,它可能會消耗比一些類似函數更多的內存,如['mysqli_fetch_array()'](http://php.net/manual/en/) mysqli-result.fetch-array.php)* –

+0

嘗試使用$ row_id = mysqli_fetch_assoc($ r); – trevor

+0

你也需要php 5.3+ – jeroen

回答

0

mysqli_fetch_all()需要php 5.3及更高版本需要安裝mysqlnd。一個

或者您可以使用

$result = mysqli_query($con,$query); 
while($row = mysqli_fetch_assoc($result)) { 
    $arr[] = $row; 
}