mysqli_result::fetch_object
mysqli_fetch_object
(PHP 5, PHP 7, PHP 8)
mysqli_result::fetch_object -- mysqli_fetch_object — Выбирает следующую строку из набора результатов в виде объекта
Описание
Объектно-ориентированный стиль
Последний столбец будет иметь приоритет и перезапишет любые предыдущие данные,
если у двух и более столбцов в наборе результатов одинаковое имя.
Для доступа к нескольким столбцам с одинаковым именем либо вызывают
функцию mysqli_fetch_row() для выбора массива с числовой
индексацией, либо в списке выбора SQL-запроса указывают псевдонимы,
чтобы задать столбцам разные имена.
Замечание:
Функция устанавливает значения свойств объекта до вызова конструктора объекта.
Замечание: Имена полей, возвращаемые этой
функцией являются зависимыми от регистра.
Замечание: Эта функция устанавливает NULL-поля
в значение null PHP.
Возвращаемые значения
Функция возвращает объект, который представляет выбранную строку,
в которой каждое свойство представляет имя столбца набора результатов,
null, если в наборе результатов больше нет строк или false, если возникла ошибка.
Ошибки
Функция выбрасывает исключение ValueError, когда аргумент
constructor_args не пуст, а класс class не имеет конструктора.
Примеры
Пример #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)