【发布时间】:2019-09-03 08:49:43
【问题描述】:
我正在制作一个具有自动完成产品搜索栏的网站。当用户输入几个字母时,我使用 LIKE 语句将它们与数据库进行比较,并返回看起来相似的产品。用户最多可以在搜索栏下方的下拉菜单中看到用户正在考虑的 4 种产品。现在,一旦用户单击结果,我就会将其传递回 PHP PDO 语句。
如果产品不包含%,它可以正常工作。但我有诸如“100% 产品 A”之类的产品,我似乎无法绕过它。我知道 % 在 LIKE 语句中使用。我用过like,但效果不是很好。我得到了我想要的产品的不同变体。我如何通过这个?
$pdo = new PDO($dsn, $user, $passwd);
//Retrieving Product Name
$prodName = $_GET['name'];
$stm = $pdo->prepare("SELECT * FROM products WHERE productName = ?");
$stm->bindValue(1, $prodName);
$stm->execute();
$row = $stm->fetch(PDO::FETCH_ASSOC);
$results[0] = $row["productName"];
$results[1] = $row["price"];
$results[2] = $row["quantity"];
$result=implode("','", $results);
echo $result;
【问题讨论】:
-
你的代码在哪里搜索?
-
@PaulSpiegel 搜索??
-
“我用 LIKE 语句将它们与数据库进行比较” - 你在代码中哪里使用了
LIKE?