我正在尝试为查询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的新手,所以我不确定。感谢。