English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Функция mysqli_fetch_object() извлекает текущую строку из набора результатов и возвращает ее в виде объекта.
Заметка: имена полей, возвращаемые этой функцией, различаются по регистру.
PHP объект результата (класс mysqli_result) представляет MySQL результат, возвращаемый запросами SELECT, DESCRIBE или EXPLAIN.
mysqli_fetch_object()Функция принимает объект результата в качестве параметра, извлекает содержимое текущей строки из данных и возвращает их в виде объекта.
mysqli_fetch_object($result, [$class_name, $params]);
Номер | Параметры и описание |
---|---|
1 | result(обязательный) Это идентификатор объекта результата. |
2 | class_name(необязательный) Название класса, который нужно instantiate, установить его свойства и вернуть. |
3 | params(необязательный) Указать массив параметров, переданных в конструктор объекта class_name. |
Функция mysqli_fetch_object() возвращает объект (с строковыми свойствами), который сохраняет текущую строку объекта результата. Если нет больше строк, функция возвращает NULL.
Эта функция была введена в PHP версии 5 и может использоваться во всех более поздних версиях.
Ниже приведен пример:mysqli_fetch_object()Метод использования (по процессуальному стилю), возвращает все строки в наборе результатов и выводит значение каждого поля:
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); mysqli_query($con, "CREATE TABLE myplayers(ID INT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country VARCHAR(255))"); print("Создание таблицы.....\n"); mysqli_query($con, "INSERT INTO myplayers values(1, 'Sikhar', 'Dhawan', 'Delhi', 'India')"); mysqli_query($con, "INSERT INTO myplayers values(2, 'Jonathan', 'Trott', 'CapeTown', 'SouthAfrica')"); mysqli_query($con, "INSERT INTO myplayers values(3, 'Kumara', 'Sangakkara', 'Matale', 'Srilanka')"); print("Вставка записи.....\n"); //Извлечение содержимого таблицы $res = mysqli_query($con, "SELECT * FROM myplayers"); //Получение всех строк в виде объектов while($obj = mysqli_fetch_object($res)){ print("ID: ".$obj->ID."\n"); print("First_Name: ".$obj->First_Name."\n"); print("Last_Name: ".$obj->Last_Name."\n"); print("Place_Of_Birth: ".$obj->Place_Of_Birth."\n"); print("Country: ".$obj->Country."\n"); } //Закрытие запроса mysqli_free_result($res); //Закрытие подключения mysqli_close($con); ?>
Результат вывода
Создание таблицы..... Вставка записи..... ID: 1 First_Name: Sikhar Last_Name: Dhawan Place_Of_Birth: Delhi Country: India ID: 2 First_Name: Jonathan Фамилия: Trott Место_рождения: CapeTown Страна: Южная_Африка ID: 3 Имя: Kumara Фамилия: Sangakkara Место_рождения: Matale Страна: Шри-Ланка
В面向对象 стиле, грамматика этой функции такая:$result-> fetch_object();。以下是面向对象风格的此函数示例;
<?php //Установление подключения $con = new mysqli("localhost", "root", "password", "mydb"); $con -> query("CREATE TABLE Test(Name VARCHAR(255), Age INT)"); $con -> query("insert into Test values('Raju', 25),('Rahman', 30),('Sarmista', 27)"); print("Создание таблицы.....\n"); $stmt = $con -> prepare( "SELECT * FROM Test WHERE Name in(?, ?)"); $stmt -> bind_param("ss", $name1, $name2); $name1 = 'Raju'; $name2 = 'Rahman'; //Выполнение запроса $stmt->execute(); //Извлечение результатов $result = $stmt->get_result(); //Получение всех строк в виде массива while($obj = $result->fetch_object()){ print("Имя: ".$obj->Name."\n"); print("Возраст: ".$obj->Age."\n"); } //Закрытие запроса $stmt->close(); //Закрытие подключения $con->close(); ?>
Результат вывода
Создание таблицы..... Имя: Raju Возраст: 25 Имя: Rahman Возраст: 30