(PHP 5, PHP 7, PHP 8)
mysqli_result::fetch_object -- mysqli_fetch_object — Выбирает следующую строку из набора результатов в виде объекта
Объектно-ориентированный стиль
$class
= "stdClass", array $constructor_args
= []): object|null|falseПроцедурный стиль
$result
, string $class
= "stdClass", array $constructor_args
= []): object|null|false
Выбирает одну строку данных из набора результатов и возвращает её как объект,
где каждое свойство представляет имя столбца набора результатов.
Каждый последующий вызов этой функции будет возвращать следующую строку в наборе результатов
или null
, если строк больше нет.
Если у двух и более столбцов в наборе результатов одинаковое имя, последний столбец будет иметь приоритет и перезапишет любые предыдущие данные. Для доступа к нескольким столбцам с одинаковым именем можно использовать функцию mysqli_fetch_row() для выборки массива с числовым индексом или в списке выбора SQL-запроса можно использовать псевдонимы, чтобы задать столбцам разные имена.
Замечание: Функция устанавливает значения свойств объекта до вызова его конструктора.
Замечание: Имена полей, возвращаемые этой функцией являются зависимыми от регистра.
Замечание: Эта функция устанавливает NULL-поля в значение
null
PHP.
result
Только для процедурного стиля: объект mysqli_result, полученный с помощью mysqli_query(), mysqli_store_result(), mysqli_use_result() или mysqli_stmt_get_result().
class
Имя класса, объект которого требуется инстанцировать, задать значения его свойств и вернуть. Если параметр не задан, будет возвращён объект stdClass.
constructor_args
Необязательный массив (array) параметров, которые будут
переданы конструктору класса class
.
Возвращает объект, представляющий выбранную строку,
где каждое свойство представляет имя столбца набора результатов,
null
, если в наборе результатов больше нет строк или false
в случае возникновения ошибки.
Версия | Описание |
---|---|
8.0.0 |
constructor_args теперь принимает [] для конструкторов без параметров;
ранее выбрасывалось исключение.
|
Пример #1 Пример использования mysqli_result::fetch_object()
Объектно-ориентированный стиль
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
$query = "SELECT Name, CountryCode FROM City ORDER BY ID DESC";
$result = $mysqli->query($query);
/* получение массива объектов */
while ($obj = $result->fetch_object()) {
printf("%s (%s)\n", $obj->Name, $obj->CountryCode);
}
Процедурный стиль
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
$query = "SELECT Name, CountryCode FROM City ORDER BY ID DESC";
$result = mysqli_query($link, $query);
/* получение ассоциативного массива */
while ($obj = mysqli_fetch_object($result)) {
printf("%s (%s)\n", $obj->Name, $obj->CountryCode);
}
Результат выполнения данных примеров:
Pueblo (USA) Arvada (USA) Cape Coral (USA) Green Bay (USA) Santa Clara (USA)