У меня есть функция, которая принимает SQL-запрос и параметры/массив параметров. Эта функция работает нормально на операциях UPDATE
, но не на SELECT
. Функция mysqli_fetch_array
ничего не возвращает, и я не могу понять, почему. Сообщение об ошибке, которое я получаю:Функция SQL не возвращает результаты
"mysqli_fetch_array() ожидает параметр 1, чтобы быть mysqli_result, булево дано"
Я использую PHP версии 5.5.
Запрос выглядит следующим образом:
<?php
$txtSearch = isset($_POST["txtSearch"]) ? $_POST["txtSearch"] : "";
$result_search = null;
$query = "";
if(!empty($txtSearch))
{
if($page == "adverts")
{
$query = "
SELECT
A.ID,
A.title,
A.productname,
A.price,
A.description,
A.productlocation,
(SELECT I.name FROM image I WHERE I.advertID = A.ID LIMIT 1) AS name
FROM advert A
WHERE A.title LIKE ?";
}
$result_search = queryDB($query, array("s", "%".$txtSearch."%"));
}
while($row = mysqli_fetch_array($result_search))
{
echo
"<div class='post_container'>
<div class='title_banner'>".$row["title"]."</div>
<div>£".$row["price"]."</div>
</div>";
}
?>
Зачем OP заменяет запрос на что-то другое? Запрос в вопросе (предположительно) правильный, и проблема лежит в другом месте. –
Это правда, это может быть иначе. Если вы используете этот запрос OP, используйте его с осторожностью. Результат зависит от дизайна вашей базы данных. Если вы не уверены, лучше использовать свой предыдущий запрос. – jozhe