我的代码似乎有问题,无法追踪问题。我想在我的数据库中搜索多个列,但我收到了错误报告。
我像这样改变了桌子
"ALTER TABLE products ADD FULLTEXT alltext (`title`, `cat`, `status`, `description`, `tags`)";
并且还将默认引擎更改为 MyISAM
但是当我通过搜索我的搜索框运行这个查询时,我得到了一个错误。
$sql="SELECT * FROM products as p INNER JOIN amenities as a ON p.product_id=a.product_id WHERE MATCH(p.title,p.cat,p.status,p.description,p.tags) AGAINST ('$search' )";
mysqli_query($con,$sql);
其他条件如下......
如果我的搜索词在任何行中,这应该会给我结果。但它返回一个错误的查询错误。还尝试在'$search'之后添加一个IN BOOLEAN ...即
$sql="SELECT * FROM products as p INNER JOIN amenities as a ON p.product_id=a.product_id WHERE MATCH(p.title,p.cat,p.status,p.description,p.tags) AGAINST ('$search' IN BOOLEAN)";
当表行中有明显匹配的术语时,它不会给出任何结果。
这是我的搜索变量
$search = mysqli_real_escape_string($con, $_POST['q']);
对此的任何帮助将不胜感激。