我有一个包含多个列的数据库表:
Category Model Manufacturer
Roland Pianos | HP605 | Roland
Kawai Pianos | CL36 | Kawai
Roland Keyboards | BK9 | Roland
我希望能够同时搜索两个列,所以当我放入搜索栏Roland HP605时,我希望结果显示Roland HP605。
目前我有以下内容: 搜索框:
<input id="search" name="Search" type="text" placeholder="Search Products">
搜索代码:
if (isset($_GET['Search'])) {
$query_RS_Search ="SELECT * FROM products WHERE Category LIKE :search OR products.Manufacturer LIKE :search OR products.Model LIKE :search";
$RS_Search = $conn->prepare($query_RS_Search) or die(errorInfo());
$RS_Search->BindValue(':search', '%'.$_GET['Search'].'%');
$RS_Search->execute();
$row_RS_Search = $RS_Search->fetch();
如果你把搜索栏“Roland”放进去,所有Roland产品都会出现钢琴和键盘,但是如果我搜索“Roland HP605”它将无法找到它。
欢迎任何帮助
答案 0 :(得分:0)
试试这个
SELECT * FROM products WHERE CONCAT(Category, products.Manufacturer,products.Model) LIKE :search