PHP 在数据库中搜索多行
PHP searching multiple rows in database
我想使用 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);
如您所见,我的查询正在搜索我的数据库,以查看输入的用户搜索是否与 "Brand" 列中的任何内容匹配。
我还有其他列,例如 "Model" "Price" 等等,我希望能够搜索这些列以及 "Brand"。是否可以一次查询完成?
此外,我已经尝试过“AND”和“OR”以及“||” ' 但它们不起作用。
OR
会起作用,你只需要正确地做。
$query = "SELECT * FROM `GraphicsCards`
WHERE `Brand` LIKE '%". $search . "%'
OR `Model` LIKE '%" . $search . "%'
OR `Price` LIKE '%" . $search . "%'";
仅供参考,Brand
、Model
和 Price
是列,而不是行。
你应该试试:
$query = "
SELECT * FROM `GraphicsCards`
WHERE
`Brand` LIKE '%". $search . "% OR `Model` LIKE %'" . $search . "%";
$run = mysqli_query ($connection, $query);
告诉我它是如何工作的。
我想使用 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);
如您所见,我的查询正在搜索我的数据库,以查看输入的用户搜索是否与 "Brand" 列中的任何内容匹配。
我还有其他列,例如 "Model" "Price" 等等,我希望能够搜索这些列以及 "Brand"。是否可以一次查询完成?
此外,我已经尝试过“AND”和“OR”以及“||” ' 但它们不起作用。
OR
会起作用,你只需要正确地做。
$query = "SELECT * FROM `GraphicsCards`
WHERE `Brand` LIKE '%". $search . "%'
OR `Model` LIKE '%" . $search . "%'
OR `Price` LIKE '%" . $search . "%'";
仅供参考,Brand
、Model
和 Price
是列,而不是行。
你应该试试:
$query = "
SELECT * FROM `GraphicsCards`
WHERE
`Brand` LIKE '%". $search . "% OR `Model` LIKE %'" . $search . "%";
$run = mysqli_query ($connection, $query);
告诉我它是如何工作的。