Я сделал код несколько дней назад, включая get_result()
чтобы получить результаты из моей базы данных. Сегодня я хочу добавить к нему и исправить некоторые ошибки. Поэтому я попытался использовать num_rows
чтобы убедиться, что что-то было возвращено. Но для этого мне пришлось использовать store_result()
. И когда я делаю это, get_result()
возвращает boolean false. Когда я комментирую store_result()
все работает так, как должно. Я знаю, что >=
испортит это. Но я положил =
там для отладки (чтобы прокомментировать store_result()
и посмотреть, что произошло). Так что это не проблема
$sql = $this->connect(); $a = $sql->prepare("SELECT `name`, `title`, `comment`, `date` FROM `comment` WHERE `post`=?"); $a->bind_param("s", $id); $a->execute(); $a->store_result(); if ($a->num_rows >= 0) { $res = $a->get_result(); var_dump($res); while ($row = $res->fetch_assoc()) { $results[] = $row; } return $results; } else { return false; }
Используйте get_result()
вместо store_result()
, а затем используйте num_rows
объекта num_rows
:
$a->execute(); $res = $a->get_result(); if ($res->num_rows > 0) { while ($row = $res->fetch_assoc()) { $results[] = $row; } return $results; } else { return false; }