Я пытаюсь создать панель поиска для веб-сайта, который запрашивает базу данных PostgreSQL, и функция поиска не работает. Я не получаю никаких ошибок, и если я вручную ввожу запрос, он работает, но не, если он использует поисковый термин. Вот соответствующий код.
$output = '';
if(isset($_POST['search']) && !empty($_POST['search'])){
$searchq=$_POST['search'];
$searchq=preg_replace("#[^0-9a-z]#i","",$searchq);
//$query= pg_query($conn,"SELECT * FROM restaurant WHERE name='Eataly'");
$query= pg_query($conn,"SELECT * FROM restaurant WHERE name = '%$searchq%'");
$count= pg_num_rows($query);
if($count==0){
$output = "There were no results";
}
else{
while ($row=pg_fetch_row($query)){
$fname= $row[0];
$output .="Restaurant: $row[1]";
}
}
}
Закомментированный запрос будет работать правильно и отображать правильные данные, однако, когда я закомментирую эту строку и вместо этого использую переменную searchq, он говорит, что результатов нет. Вот соответствующий HTML, а также.
<form action= "index.php" method = "post">
<input type"text" name = "search" placeholder= "Search"/>
<input type = "submit" value=">>"/>
Я что-то упускаю? Я новичок в PHP, поэтому я не уверен. Благодарю.
Задача ещё не решена.
Других решений пока нет …