从数据库中多次搜索

时间:2019-03-14 20:53:00

标签: php mysql database

我有一个搜索栏,可以从数据库中查找值,我希望搜索栏可以从多个列中搜索值。

这是我目前拥有的并且正在工作:

$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."%' ";

但是没有用。我做错了吗? (当然大声笑)

3 个答案:

答案 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."%'";