2014-04-23 164 views
0

我正在製作一個頁面,用於查詢表中所有按入口時間排序的結果的所有列,並且具有限制的降序。當我查詢行數時,查詢工作得很好,但是當我嘗試再次查詢表中的數據時,我什麼也沒得到。我決定嘗試將查詢降低到"SELECT * FROM comments",但當"SELECT COUNT(*) AS count FROM comments"剛剛預先工作時,我仍然沒有結果。我試過使用mysqli_error(),但沒有給我任何信息。mysqli_query()返回整個表的空結果

查詢似乎沒有失敗,因爲mysqli_query()的結果不是錯誤的,當我在phpMyAdmin中查詢時,查詢工作。我的代碼如下

//open databases 
require_once($root . "databases/data.php"); 

//get number of suggestions in comments table 
$cquery = mysqli_query($cbase, "SELECT COUNT(*) AS count FROM comments"); //this works 
$c = mysqli_fetch_array($cquery); 
$count = $c["count"]; 

//get all suggestions 
//this query fails 
$queryText = "SELECT * FROM comments ORDER BY time DESC LIMIT " . (($page - 1) * $pageLimit) . ", " . $pageLimit; 
$query = mysqli_query($cbase, $queryText); 

//validate query 
if($query === false) 
{ 
    $failed = true; 
} 

//get all comments from query 
while(!$failed && $array = mysqli_fetch_array($result)) 
+1

那麼'$ page'和'$ pageLimit'的值是什麼? –

+0

'echo'你的'$ queryText'並向我們顯示。 @MarkBaker對他的預感可能是正確的:'$ page'&'$ pageLimit'已經搞亂了。 – Kryten

+0

我的歉意。 '$ page'應該是第一次,'$ pageLimit'應該總是爲40.'$ queryText'保存'「SELECT * FROM註釋ORDER BY time DESC LIMIT 0,40」' –

回答

0

一小片的請嘗試此線3

$c = mysqli_fetch_assoc($cquery); 

您也可以嘗試這樣也,

$c = mysqli_fetch_array($cquery, MYSQLI_ASSOC); 
0

你只是使用了錯誤的變量時在while循環中讀出查詢結果。 mysqli_fetch_array($result)雖然您將查詢結果保存在$ query中,所以它應該是mysqli_fetch_array($query)