call to a member function fetch

Я пытаюсь выполнить несколько запросов, чтобы получить страницу информации о некоторых изображениях. Я написал функцию

, которая выбирает страницу этих изображений в зависимости от их популярности. Я написал класс Database , который обрабатывает взаимодействия с базой данных и класс Image , который содержит информацию об изображении. Когда я пытаюсь запустить это, я получаю сообщение об ошибке.

$result — это набор результатов mysqli, поэтому я не понимаю, почему это не работает.

4 ответа

Это потому, что в вашем запросе была ошибка. MySQli->query() вернет false при ошибке. Измените его на что-то вроде ::

Это должно вызвать исключение, если есть ошибка .

Скорее всего, ваш запрос не удался, а запрос вызвал логический FALSE (или какой-то объект ошибки), который затем попытался использовать, как если бы был объект resultet, что вызвало ошибку. Попробуйте что-то вроде var_dump($result) , чтобы узнать, что вы действительно получили.

Проверьте ошибки после каждого запроса запроса к базе данных. Даже если сам запрос синтаксически действителен, в любом случае есть слишком много причин для его отказа — проверка ошибок каждый раз в какой-то момент сэкономит вам много горя.

Убедитесь, что вы уже закрыли соединение с базой данных или нет. В моем случае я получал ошибку, потому что соединение было близко в верхней строке.

Мне не хватает пробелов в моем запросе, и эта ошибка возникает.

Хотя пример может выглядеть просто, при кодировании сложных запросов вероятность этой ошибки высока. Мне не хватало пробела перед словом «table1».

При написании поисковика по сайту вылезла такая ошибка: «Fatal error: Uncaught Error: Call to a member function fetch_assoc() on boolean in C:xampphtdocssearch.php:21 Stack trace: #0 C:xampphtdocssearch.php(30): search(‘xD0xB2xD0xBExD0xBBxD0xBA’) #1

thrown in C:xampphtdocssearch.php on line 21″
Что это вообще такое и как можно исправить?
Сам код:
$value)<
if (isset($arraywords[$key — 1]))
$query_search .= ‘ OR ‘;
$query_search .= ‘`title` LIKE «%’.$value.’%» OR `text_article` LIKE «%’.$value.’%»‘;
>

$query = «SELECT * FROM articles WHERE $query_search»;
$mysqli = new mysqli («localhost», «Narok%», «», «test»);
$result_set = $mysqli->query($query);
$mysqli->close();

$i = 0;
while($row = $result_set->fetch_assoc())<
$results[$i] = $row;
$i++;
>
return $results;

>
if (isset($_POST[‘bsearch’]))<
$words = $_POST[‘words’];
$results = search($words);
print_r($results);
>

На данный вопрос уже ответили:

Почему выскакивает такая ошибка?

Fatal error: Call to a member function fetch_assoc() on a non-object in Z:homeAnastasiyawwwsearch.php on line 22

Хочу сделать поиск по сайту, с помощью БД. Создала БД «anastasiya» (в которой и буду совершать поиск) с таблицей «content».

Оцените статью