【发布时间】:2015-01-08 22:06:48
【问题描述】:
我想使用 PHP 和 MySQL 从一个数据库中搜索多个列。目前我有这个工作。
这是我的表格:
<form action="products.php" method="POST">
Search: <input type="text" name="search" />
<input type="submit" value="submit"/>
</form>
这是我当前的工作查询:
$query = "SELECT * FROM `GraphicsCards` WHERE `Brand` LIKE '%". $search . "%'";
$run = mysqli_query ($connection, $query);
如您所见,我的查询正在搜索我的数据库,以查看输入的用户搜索是否与“品牌”列中的任何内容匹配。
我还有其他列,例如“型号”“价格”等,并且希望能够搜索这些列以及“品牌”。是否有可能做到这一点是一个查询?
此外,我已经尝试过'AND'和'OR'以及'|| ' 但它们不起作用。
【问题讨论】:
-
为什么 OR 不起作用?
-
不知道什么时候添加 OR 查询不再显示数据:/
-
如果
$search来自用户输入,请确保它被正确转义,否则您将遇到SQL注入漏洞。出于这个原因,如果可以的话,最好切换到参数化查询。