Почему MySQLi не хочет фетчить данные в массив?

php базы данных ООП MySQLi fetch

if ($query = $this->mysqli->prepare("SELECT * FROM `table1` WHERE `id`=?"))
{

$query->bind_param("i",$this->id);
$query->execute();
$result = $query->fetch_array(MYSQLI_ASSOC);
$query->free();
$query->close();

var_dump($result);

}
в итоге ошибка:

PHP Fatal error: Call to undefined method mysqli_stmt::fetch_array()

Примечание:
> Посмотрите документацию по mysqli
а как вы думаете откуда я вообще это придумал что ли, кончено нет, я делал по примеру с этой же самой документации - http://php.su/functions/?mysqli-fetch-array

Примечание:
> это либо PDO либо либо извращенный недо DAO на ооп
нет, это все-таки mysqli, ибо ответ таков:

$result = $query->get_result()->fetch_array(MYSQLI_ASSOC);

Самому себе можно выбрать лучший ответ?
Ответы:
Так конечно. fetch_array - метод результата выполнения запроса.
А mysqli::prepare возвращает объект подготовленного выражения. Это не результат запроса.
От того, что вы просто выполнили execute(), объет подготовленного выражения не стал результатом выполнения запроса. А результат выполнения вы никуда не записали.
это либо PDO либо либо извращенный недо DAO на ооп


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.