(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
, если возникла ошибка.
Функция выбрасывает исключение ValueError, когда аргумент constructor_args
не пуст, а класс class
не имеет конструктора.
Версия | Описание |
---|---|
8.3.0 | Теперь функция выбрасывает исключение ValueError, когда аргумент constructor_args не пуст, а класс class не имеет конструктора. Ранее функция выбрасывала исключение Exception. |
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)