mysqli_fetch_assoc
Возвращает ассоциативный массив, соответствующий результирующей выборке или NULL, если других рядов не существует.
Замечание: Имена полей, возвращаемые этой функцией являются регистро-зависимыми.
Замечание: Эта функция устанавливает NULL-поля в значение NULL PHP.
Список параметров
— Только для процедурного стиля: Идентификатор результата запроса, полученный с помощью mysqli_query(), mysqli_store_result() или mysqli_use_result().
Возвращаемые значения
Возвращает ассоциативный массив строк, соотвествующий результирующей выборке, где каждый ключ в массиве соответствует имени одного из столбцов выборки или NULL, если других рядов не существует.
Если два или более столбца в выборке имеют одинаковое название полей, то приоритет отдается последнему столбцу. Для доступа к другому столбцу с таким же именем вам необходимо произвести нумерованную выборку с помощью функцию mysqli_fetch_row() или добавить псеводнимы.
Примеры
Пример #1 Объектно-ориентированный стиль
$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 Процедурный стиль
$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
$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())
Результатом выполнения данного примера будет что-то подобное:
'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'
Смотрите также
- mysqli_fetch_array() — Выбирает одну строку из результирующего набора и помещает ее в ассоциативный массив, обычный массив или в оба
- mysqli_fetch_row() — Получение строки результирующей таблицы в виде массива
- mysqli_fetch_object() — Возвращает текущую строку результирующего набора в виде объекта
- mysqli_query() — Выполняет запрос к базе данных
- mysqli_data_seek() — Перемещает указатель результата на выбранную строку
User Contributed Notes 2 notes
$sql = new MySQLi($host, $username, $password, $database); $result = $sql->query("SELECT * FROM `$table`;"); for ($set = array (); $row = $result->fetch_assoc(); $set[] = $row); print_r($set);
while(false !== ($row = mysql_fetch_assoc($result))) < //. >
- mysqli_result
- $current_field
- data_seek
- fetch_all
- fetch_array
- fetch_assoc
- fetch_field_direct
- fetch_field
- fetch_fields
- fetch_object
- fetch_row
- $field_count
- field_seek
- free
- $lengths
- $num_rows
Описание класса mysqli_result, примеры использования класса mysqli_result.
mysqli_fetch_assoc
Возвращает ассоциативный массив, соответствующий результирующей выборке или NULL , если других рядов не существует.
Замечание: Имена полей, возвращаемые этой функцией являются регистро-зависимыми.
Замечание: Эта функция устанавливает NULL-поля в значение NULL PHP.
Список параметров
Только для процедурного стиля: Идентификатор результата запроса, полученный с помощью mysqli_query() , mysqli_store_result() или mysqli_use_result() .
Возвращаемые значения
Возвращает ассоциативный массив строк, соответствующий результирующей выборке, где каждый ключ в массиве соответствует имени одного из столбцов выборки или NULL , если других рядов не существует.
Если два или более столбца в выборке имеют одинаковое название полей, то приоритет отдается последнему столбцу. Для доступа к другому столбцу с таким же именем вам необходимо произвести нумерованную выборку с помощью функцию mysqli_fetch_row() или добавить псевдонимы.
Примеры
Пример #1 Объектно-ориентированный стиль
$mysqli = new mysqli ( «localhost» , «my_user» , «my_password» , «world» );
?php
/* проверка соединения */
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 Процедурный стиль
$link = mysqli_connect ( «localhost» , «my_user» , «my_password» , «world» );
?php
/* проверка соединения */
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
$c = mysqli_connect ( ‘127.0.0.1’ , ‘user’ , ‘pass’ );
?php
// Использование итераторов (поддержка была добавлена начиная с PHP 5.4)
foreach ( $c -> query ( ‘SELECT user,host FROM mysql.user’ ) as $row ) printf ( «‘%s’@’%s’\n» , $row [ ‘user’ ], $row [ ‘host’ ]);
>
// Без использования итераторов
$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'
Смотрите также
- mysqli_fetch_array() — Выбирает одну строку из результирующего набора и помещает ее в ассоциативный массив, обычный массив или в оба
- mysqli_fetch_row() — Получение строки результирующей таблицы в виде массива
- mysqli_fetch_object() — Возвращает текущую строку результирующего набора в виде объекта
- mysqli_query() — Выполняет запрос к базе данных
- mysqli_data_seek() — Перемещает указатель результата на выбранную строку