2015-07-09 3 views
0

Я пытаюсь обновить одну из своих веб-страниц от команд mysql до mysqli, и все работает, за исключением вывода моих записей. Он пропускает первую строку. Там должна быть 124 записей, которые я проверяю сmysqli fetch_assoc dropping first line with foreach

$NumCols = $RecordSet->num_rows; 
Print($NumCols . "<br/>"); 

Однако, только 123 записей печатать, используя следующий код:

// Fill the first row of the table with the field names 
$row = mysqli_fetch_assoc($RecordSet); 
foreach($row as $column => $value) { 
    Print("<td>" . $column . "</td>"); 
} 
Print("</tr>"); 

// Fill the remaining rows of the table with the values 
// This code is dropping the first result 
$Pos = 1; 
While($row1 = $RecordSet->fetch_assoc()) 
{ 
    Print("<tr><td>$Pos</td>"); 
    foreach($row1 as $column => $value) { 
     Print("<td>" . $value . "</td>"); 
    } 
    Print("</tr>"); 
    $Pos++; 
} 

Я пытался без времени цикла и просто выводит одну запись с каждое значение как новая строка. Я также попытался просто распечатать строку без инструкции foreach и просто отображал слово Array 123 раза и все еще пропускал первую строку. Я также попытался изменить переменную строки в цикле while из строки в строку1, и оба результата дают мне тот же самый недостающий первый результат.

Я также проверяю, что первая строка отсутствует при сравнении вывода с моей страницы mysql на страницу mysqli.

+0

'num_rows' не всегда возвращает правильное число строк. Сколько строк вы получаете, если вы запускаете один и тот же запрос непосредственно в mysql-клиенте, без php? –

ответ

0

Вы выбираете первую строку для заголовка таблицы.
Вы можете сбросить внутренний указатель набора результатов, как раз перед временем цикла:

$RecordSet->data_seek(0); 
while($row1 = $RecordSet->fetch_assoc()) 
+0

Спасибо! Это сделал трюк. Я знал, что это просто. – Bobbie

0
$row = mysqli_fetch_assoc($RecordSet); 

это извлечение первой записи, так что FETCH_ASSOC() в то время как петли не может извлечь его.
Возможно, вы захотите перейти на do-while loop.

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