Я пытаюсь показать список файлов и создать базовую c систему нумерации страниц. Я застрял на этом, потому что вывод запроса MySQL с PDO отличается от самого MySQL.
Вот часть кода:
$sql = "SELECT * FROM libri ORDER BY bookname;";
$stmt = $pdo->prepare($sql);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
if ($row > 0) {
// output data of each row
$countStart = ($page-1)*$page;
//Listing da database
$sql = "SELECT * FROM libri ORDER BY bookname LIMIT 0,3";
$stmt = $pdo->prepare($sql);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$book = $row["bookname"];
$path = $host."/libreria/lib-folder/".$row["bookname"];
$truepath = basename($path);
$coverName = $truepath."-cover.png";
$fileArr = explode('.', $book);
$fileExt = strtolower(end($fileArr));
echo "<a href='$truepath'>".$row["bookname"]."</a><br>";
Что это за ошибка Мне кажется, что запрос с LIMIT ведет себя иначе, чем то, что я вижу на mysql: на mysql CLI с тем же запросом я получаю
+----+---------------------+
| id | bookname |
+----+---------------------+
| 12 | book.pdf |
| 1 | book2.pdf |
| 13 | book3.pdf |
+----+---------------------+
Но на веб-странице я получаю только
book2
book3
PS: я все еще не уверен, почему строки печатаются только с этим, казалось бы, неправильным while
оператором, но не с правильным сравнением ==
:
while($row = $stmt->fetch(PDO::FETCH_ASSOC))