(PHP 5, PHP 7)
mysqli_result::fetch_assoc -- mysqli_fetch_assoc — Извлекает результирующий ряд в виде ассоциативного массива
Объектно-ориентированный стиль
Процедурный стиль
Возвращает ассоциативный массив, соответствующий результирующей выборке или NULL
,
если других рядов не существует.
Замечание: Имена полей, возвращаемые этой функцией являются регистро-зависимыми.
Замечание: Эта функция устанавливает NULL-поля в значение
NULL
PHP.
result
Только для процедурного стиля: Идентификатор результата запроса, полученный с помощью mysqli_query(), mysqli_store_result() или mysqli_use_result().
Возвращает ассоциативный массив строк, соответствующий результирующей выборке,
где каждый ключ в массиве соответствует имени одного из столбцов выборки или
NULL
, если других рядов не существует.
Если два или более столбца в выборке имеют одинаковое название полей, то приоритет отдается последнему столбцу. Для доступа к другому столбцу с таким же именем вам необходимо произвести нумерованную выборку с помощью функцию mysqli_fetch_row() или добавить псевдонимы.
Пример #1 Объектно-ориентированный стиль
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* проверка соединения */
if ($mysqli->connect_errno) {
printf("Соединение не удалось: %s\n", $mysqli->connect_error);
exit();
}
$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";
if ($result = $mysqli->query($query)) {
/* извлечение ассоциативного массива */
while ($row = $result->fetch_assoc()) {
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}
/* удаление выборки */
$result->free();
}
/* закрытие соединения */
$mysqli->close();
?>
Пример #2 Процедурный стиль
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* проверка соединения */
if (mysqli_connect_errno()) {
printf("Соединение не удалось: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";
if ($result = mysqli_query($link, $query)) {
/* извлечение ассоциативного массива */
while ($row = mysqli_fetch_assoc($result)) {
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}
/* удаление выборки */
mysqli_free_result($result);
}
/* закрытие соединения */
mysqli_close($link);
?>
Результат выполнения данных примеров:
Pueblo (USA) Arvada (USA) Cape Coral (USA) Green Bay (USA) Santa Clara (USA)
Пример #3 Пример mysqli_result с использованием класса iterator
<?php
$c = mysqli_connect('127.0.0.1','user', 'pass');
// Использование итераторов (поддержка была добавлена начиная с PHP 5.4)
foreach ( $c->query('SELECT user,host FROM mysql.user') as $row ) {
printf("'%s'@'%s'\n", $row['user'], $row['host']);
}
echo "\n==================\n";
// Без использования итераторов
$result = $c->query('SELECT user,host FROM mysql.user');
while ($row = $result->fetch_assoc()) {
printf("'%s'@'%s'\n", $row['user'], $row['host']);
}
?>
Результатом выполнения данного примера будет что-то подобное:
'root'@'192.168.1.1' 'root'@'127.0.0.1' 'dude'@'localhost' 'lebowski'@'localhost' ================== 'root'@'192.168.1.1' 'root'@'127.0.0.1' 'dude'@'localhost' 'lebowski'@'localhost'