为了账号安全,请及时绑定邮箱和手机立即绑定

未替换准备好的 SQL 语句中的问号

未替换准备好的 SQL 语句中的问号

PHP
摇曳的蔷薇 2024-01-19 20:56:21
我在 MariaDB 上使用 PHP 中的 PDO 来过滤文本字段包含的行$search_terms。但是,我只检索包含问号的行。看来$search_terms准备好的语句中的内容没有被替换。$query = $db->prepare('SELECT * FROM notes WHERE text LIKE \'%?%\'');$query->execute(array($search_terms));$data['notes'] = $query->fetchAll(PDO::FETCH_ASSOC);为什么 ?
查看完整描述

1 回答

?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

不确定是否$search_terms要保留一个或多个搜索词。您的查询意味着前者,如果是这样,则使用:


$search_term = "%apple%";

$query = $db->prepare('SELECT * FROM notes WHERE text LIKE ?');

$query->execute($search_term);

$data['notes'] = $query->fetchAll(PDO::FETCH_ASSOC);

请注意,我们将带有通配符的搜索词绑定%到语句中。该语句仅包含一个?占位符。


查看完整回答
反对 回复 2024-01-19
  • 1 回答
  • 0 关注
  • 34 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信