即时创建网站,在网站内会有一个搜索框,可让您搜索网站上的项目。我有代码,但我不断收到错误消息。
<?php
include 'connect.php';
$search = $_POST['search']."*";
$search_query = $link->prepare("SELECT name FROM products WHERE MATCH(name)
AGAINST (? IN BOOLEAN MODE)")
$search_query->bind_param('s', $search);
$search_query->execute();
$search_query->store_result();
$search_rows = $search_query->num_rows;
$search_query->bind_result($product_name);
if($search_rows > 0){
while($search_query->fetch()){
echo "Your search returned $search_rows results";
echo $product_name."<br>";
}
} else { echo "Your search returned no results, sorry :("; }
是否可以使用数据库中的mysql查询运行搜索以返回搜索?
任何建议都将深表感谢。
谢谢
答案 0 :(得分:0)
错误很可能是因为你的语法。
$search_query->store_result();
$search_rows = $search_query->num_rows;
$search_query->bind_result($product_name);
在这里,您首先尝试存储结果,然后将结果绑定到变量$product_name
,这会导致上述错误。
请注意,所有列必须在
mysqli_stmt_execute()
之后和调用mysqli_stmt_fetch()
之前绑定。根据列类型,绑定变量可以静默更改为相应的PHP类型。
答案 1 :(得分:0)
该代码需要一些工作。
那个循环看起来有缺陷。尝试这样的事情:
echo "Your search returned $search_rows results";
while($search_query->fetch()){
echo $product_name . "<br>";
}