如何在 CONCAT 中正确使用通配符

阿德里安

(剧透:标题与代码的错误无关。

我正在创建一个实时搜索系统,只是为了向用户显示我网站上已经列出的可能的事件类型。在我的推测过程中,我可能在通配符绑定时遇到了一个我无法看到的错误。

我尝试使用不同类型的“WHERE LIKE”语句,但大多数都不起作用。例如我尝试使用占位符查询(问号),但根本不起作用。如果我在我的数据库上手动运行这个查询,我会得到我期望的结果。

这就是我的代码的外观,变量 $q 是使用 $_GET 方法获得的。

$query = $pdo->prepare('SELECT DISTINCT EventCategory FROM Events
             WHERE EventCategory LIKE CONCAT(\'%\',:q,\'%\')');
$query->bindParam(":q", $q);
$query->execute();
$row = $query->fetch(PDO::FETCH_ASSOC);
while ($row = $query->fetchObject()) {
    echo "<div>  $row->EventCategory </div>";
}

预期结果是:如果 $q 等于 n,则返回 Meeting and Nightlife。当 $q 等于 ni 时,则只返回 Nightlife。

搜索不区分大小写,N 和 n 被同等对待。

SHOW CREATE TABLE Events 查询返回以下内容:

  CREATE TABLE `Events` (
 `ID` int(11) NOT NULL AUTO_INCREMENT,
 `Name` varchar(100) NOT NULL,
 `Image` varchar(600) NOT NULL,
 `Date` date NOT NULL,
 `Description` varchar(1200) NOT NULL,
 `SpacesAvailable` int(11) NOT NULL,
 `EventCategory` varchar(50) NOT NULL,
 `Trending` varchar(30) DEFAULT NULL,
 `TrendingID` int(255) NOT NULL,
 `Sale` int(255) NOT NULL,
 PRIMARY KEY (`ID`)
)DEFAULT CHARSET=latin1

显示网站运行情况的图片:https : //imgur.com/a/yP0hTm3如果您正在查看图片,请从下到上查看。谢谢

里克·詹姆斯

问题不在于LIKE,而在于 PHP 和 PDO。盯着代码中的 3 个相互冲突的用法$row

$row = $query->fetch(PDO::FETCH_ASSOC);
while ($row = $query->fetchObject()) {
echo "<div>  $row->EventCategory </div>"; }

然后查看文档和示例。(对不起,我不会告诉你答案;你需要学习才能理解它。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在查询中正确使用CONCAT

来自分类Dev

如何在C中正确使用malloc?

来自分类Dev

如何在列表中正确使用Observable?

来自分类Dev

如何在GinMapBinder中正确使用TypeLiteral?

来自分类Dev

如何在Qt中正确使用AdjustSize()

来自分类Dev

如何在MySQL中正确使用索引

来自分类Dev

如何在SUMPRODUCT函数中正确使用OR

来自分类Dev

如何在EAR中正确使用OmniFaces

来自分类Dev

如何在Spring中正确使用@Async

来自分类Dev

如何在结构中正确使用fget?

来自分类Dev

如何在TThread中正确使用Idhttp?

来自分类Dev

如何在Python中正确使用fminsearch?

来自分类Dev

如何在Swift中正确使用EventLoopFuture?

来自分类Dev

如何在python中正确使用队列?

来自分类Dev

如何在Rust中正确使用`peek()`?

来自分类Dev

如何在MIPS中正确使用指针?

来自分类Dev

如何在addEventListener中正确使用querySelectorAll

来自分类Dev

如何在Pygame中正确使用colliderect?

来自分类Dev

如何在C ++中正确使用并集?

来自分类Dev

如何在python中正确使用'or'和'and'

来自分类Dev

如何在pyqt中正确使用线程?

来自分类Dev

如何在PHP中正确使用变量

来自分类Dev

如何在SUBMIT中正确使用JavaScript?

来自分类Dev

如何在Makefile中正确使用gzip?

来自分类Dev

如何在apache中正确使用dnsmasq?

来自分类Dev

如何在R中正确使用gofstat?

来自分类Dev

如何在laravel中正确使用orWhere?

来自分类Dev

如何在Swift中正确使用委托?

来自分类Dev

如何在CSS中正确使用@media