如何添加更多内容进行搜索

问题描述 投票:0回答:2

我正在尝试在php上创建搜索脚本。目前,它仅在数据库中搜索serialkey,但我想添加更多。

$search = $conn->prepare("SELECT `id`, `serialkey`, `discordid`, `orderid`, `date` FROM `serials` WHERE `serialkey` LIKE ?");
$search->execute(array("%$q%"));

我尝试使用

$search = $conn->prepare("SELECT `id`, `serialkey`, `discordid`, `orderid`, `date` FROM `serials` WHERE `serialkey` LIKE ? or `discordid` LIKE ?");

但是它没有用,只是出现错误

无效的参数编号:绑定变量的数量与令牌的数量不匹配

php mysql sql pdo
2个回答
0
投票

即使您想将多个列与同一个值进行比较,也必须将其绑定使用占位符的次数。如果使用了两个占位符,则需要两次绑定相同的值。

$search = $conn->prepare("SELECT `id`, `serialkey`, `discordid`, `orderid`, `date` 
    FROM `serials` 
    WHERE `serialkey` LIKE ? or `discordid` LIKE ?");
$search->execute(["%$q%", "%$q%"]);

-1
投票

也许您需要大括号?

$search->execute(array("%{$q}%"));
  1. https://www.php.net/manual/en/pdostatement.execute.php#refsect1-pdostatement.execute-examples
© www.soinside.com 2019 - 2024. All rights reserved.