我有一个搜索栏,可以从数据库中查找值,我希望搜索栏可以从多个列中搜索值。
这是我目前拥有的并且正在工作:
$search = mysqli_real_escape_string($connect, $_POST["query"]);
$query = "SELECT * FROM request WHERE trackingcode LIKE '%".$search."%' ";
我尝试过:
$search = mysqli_real_escape_string($connect, $_POST["query"]);
$query = "SELECT * FROM request WHERE trackingcode, anothercolumn LIKE '%".$search."%' ";
但是没有用。我做错了吗? (当然大声笑)
答案 0 :(得分:0)
您不能在WHERE子句中使用逗号作为两列,而必须使用OR运算符。 像这样:
$query ="SELECT * FROM request WHERE trackingcode LIKE '%".$search."%' OR anothercolumn LIKE '%".$search."%'";
引用:https://dev.mysql.com/doc/refman/8.0/en/multiple-column-indexes.html
答案 1 :(得分:0)
也许尝试一个OR
条件:
$query = "select * from request where trackingcode like '%{$search}%' or anothercolumn like '%{$search}%'";
答案 2 :(得分:0)
您可以使用OR
运算符来解决此问题
$search = mysqli_real_escape_string($connect, $_POST["query"]);
$query = "SELECT *
FROM request
WHERE trackingcode LIKE '%".$search."%'
OR anothercolumn LIKE '%".$search."%'";