(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)