У меня такая проблема, что первая строка из базы данных не отображается.
Вот как это выглядит:

Что я делаю не так?
Вот мой код:
<?php
$db=mysqli_connect("xxxxxx","xxxxxxx","","xxxxxxx");
$sql = "SELECT* from flyreise";
$result=mysqli_query($db,$sql);
echo "<table>";
echo "<tr>";
echo "<th></th>";
echo "</tr>";
echo "<tr>";
$countRows=mysqli_affected_rows($db);
for($i=0;$i<$countRows;$i++){
$row=mysqli_fetch_array($result);
echo "<td><strong>From:</strong>".$row["fra"]." <br><strong>To:</strong> ".$row["til"]." <br><strong>Date:</strong> ".$row["dato"]." <br><strong>Clock:</strong> ".$row["klokkeslett"]."</td>";
echo "<td></td>";
echo "<td></td>";
}
echo "</tr>";
echo "</table>";
?>
Может у вас в базе есть пустая строка?
Больше похоже на последний ряд, а не на первый. Попробуйте var_dump($row);, чтобы посмотреть, показывает ли он что-нибудь. Кроме того, вместо использования mysqli_affected_rows и for($i=0;$i<$countRows;$i++), может быть лучше изменить цикл, чтобы вместо этого использовать while($row = mysqli_fetch_array($result)) {.
@aynber Я пробовал это, но потом он просто скрывает последнюю строку и жирный текст, который вы видите. Я знаю, что у меня в базе данных 6 строк, но сейчас отображается только 5.
Можете ли вы показать содержимое базы данных? Определите, какая именно строка отсутствует.
используйте это $ countRows = mysqli_affected_rows ($ result);
Ваша попытка кодирования является явным доказательством того, что вы не обращались к руководству по php перед публикацией. php.net/manual/en/mysqli-result.fetch-array.php Вы не должны проверять наличие затронутых строк из запроса SELECT, и вам также не нужен счетчик строк. Для ваших нужд лучше вызвать в mysqli_fetch_assoc(). Кроме того, структура вашей таблицы html нарушена - у вас есть 1 ячейка заголовка таблицы, а в теле таблицы 3 столбца. Если вы следовали руководству / видео, вы должны найти другой.
Исправление, у вас нет 3 столбцов в теле таблицы, у вас есть п * 3 столбца в одной строке. Этот дизайн требует переосмысления.






Замените петлю for следующим образом:
while($row=mysqli_fetch_array($result)){
echo "<td><strong>From:</strong>".$row["fra"]." <br><strong>To:</strong>
".$row["til"]." <br><strong>Date:</strong> ".$row["dato"]." <br><strong>Clock:
</strong> ".$row["klokkeslett"]."</td>";
echo "<td></td>";
echo "<td></td>";
}
Вы говорите программе, чтобы она продолжала перебирать mysql_fetch_array($result) и назначать полученную запись $row.
Также не забудьте вынуть эту строчку $countRows=mysqli_affected_rows($db);, так как она вам больше не нужна.
Теперь разобрался, как заставить работать. Мне пришлось разместить $ result = mysqli_query ($ db, $ sql); прямо над предложением while.
проверьте наличие ошибок после выполнения операторов SQL