【发布时间】:2019-11-05 08:32:42
【问题描述】:
我有一个当前的 SQL 搜索查询,允许用户输入关键字来搜索我的 SQL 数据库。目前,搜索将使用多个单词,但将显示任一关键字的所有结果。如果您输入“Ford Mustang”,它将显示所有包含“Ford”或“Mustang”的结果,但我需要它只显示同时显示“Ford”和“Mustang”的结果。
我尝试过的如下
public function getProductByName($name){
$stmt = $this->pdo->prepare('SELECT * FROM tbl_products WHERE name REGEXP :names');
$names = "[[:<:]](" . str_replace(" ", "|", $name) . ")[[:>:]]";
$stmt->execute(array('names' => $names));
return $stmt;
}
【问题讨论】:
-
您使用的是哪个 dbms? (REGEXP 通常有点特定于产品。)
-
我正在使用 mySQL 并在我的服务器上使用 PHP 来执行实际的搜索功能
-
Au Nguyen,那个帖子没有回答我的问题