2014-04-23 3 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' your' $ queryText' и показать это нам. @MarkBaker, вероятно, прав с его догадкой, что '$ page' и' $ pageLimit' перепутаны. – Kryten

+0

Приношу свои извинения. '$ page' должно быть 1 в первый раз, а' $ pageLimit' всегда должно быть 40. '$ queryText' содержит' 'SELECT * FROM comments 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)

Смежные вопросы