store_result () и get_result () в mysql возвращает false

Я сделал код несколько дней назад, включая 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; }