Я читал this documentation сегодня и смутился, увидев выход.Понимание кода документации PHP
Строки кода:
/* numeric array */
$row = $result->fetch_array(MYSQLI_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);
/* associative array */
$row = $result->fetch_array(MYSQLI_ASSOC);
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
/* associative and numeric array */
$row = $result->fetch_array(MYSQLI_BOTH);
printf ("%s (%s)\n", $row[0], $row["CountryCode"]);
Производит результат:
Kabul (AFG)
Qandahar (AFG)
Herat (AFG)
Если есть комбинация петли и data_seek()
, то я могу понять, почему выход каждый раз разный. Должен ли вывод из кода выше?
Kabul (AFG)
Kabul (AFG)
Kabul (AFG)
Я что-то не хватает?
I подумайте, что курсор массива будет двигаться вперед каждый раз, когда вы получите один и тот же набор результатов. Сама причина, по которой вы зацикливаете все строки в наборе результатов. Если вы не используете что-то вроде 'fetchAll' для PDO, не уверены в mysqli. – frz3993
курсор набора записей продвигается с каждым вызовом 'fetch_array' с различными параметрами, поэтому так оно и должно быть – RamRaider