Почему если указать data_seek один раз, то в следующий раз данные выведутся из другой строки?

169
06 октября 2021, 12:40

У меня есть таблица, которая имеет столбцы number и balance.
Я хочу вывести данные, хранящиеся в них на страницу.

Почему-то если $result->data_seek($i) указать один раз, то ячейка из столбца balance выведется из той же строки, а ячейка из столбца number выведется уже из следующей.

Я пришел к выводу, что либо data_seek(), либо fetch_assoc() как-то сдвигают указатель на следующую строку. Ведь если взывать data_seek() также перед выводом ячейки из второго столбца, то все будет ОК. Прав ли я, что одна из функций сдвигает указатель на следующую строку? Если нет, то почему тогда так происходит?

    <?php
         require_once "reg file/login.php";
         $connection = new mysqli($hn, $un, $pw, $db);
         if ($connection->connect_error) die("Ошибка подключения к БД.");
         $query = "SELECT * FROM accounts";
         $result = $connection->query($query);
         if (!$result) die("Fatal Error");
         $rows = $result->num_rows;
         for($i = 0; $i < $rows; $i++) {
             $result->data_seek($i); //Если написать data_seek() только здесь, 
//то ячейка из столбца balance будет выдана из следующей строки. 
             echo "number: " . htmlspecialchars($result->fetch_assoc()["number"]) . "<br>";
             echo "balance: " . htmlspecialchars($result->fetch_assoc()["balance"]) . "<br>";
         }
READ ALSO
Сохранение файла из $_FILES

Сохранение файла из $_FILES

Все доброго дня!

102
PHP, MYSQL UPDATE

PHP, MYSQL UPDATE

Не работает перебор значения в циклах for, foreach

162
Как через PHP сравнить текст и ответ от сервера и вывести указанное значение?

Как через PHP сравнить текст и ответ от сервера и вывести указанное значение?

Как через PHP сравнить текст и ответ от сервера и вывести указанное значение? Нужно, чтобы сервер сравнил переменную с отображаемым Пользуюсь...

210
Как изменить &lt;title&gt; страницы через php?

Как изменить <title> страницы через php?

есть сайт siteru, к нему установлен алиас домена krd

169