当前位置: 首页 > 面试题库 >

在PDO中实现LIKE查询

何雅惠
2023-03-14
问题内容

我在PDO中实施LIKE时遇到问题

我有这个查询:

$query = "SELECT * FROM tbl WHERE address LIKE '%?%' OR address LIKE '%?%'";
$params = array($var1, $var2);
$stmt = $handle->prepare($query);
$stmt->execute($params);

我检查了,$var1并且$var2它们都包含我要搜索的单词,由于我的某些查询SELECT
INSERT有效,因此我的PDO正常工作,只是我对LIKEPDO 不太熟悉。

结果不返回。我$query的语法正确吗?


问题答案:

您必须%在而$params不是查询中包括符号:

$query = "SELECT * FROM tbl WHERE address LIKE ? OR address LIKE ?";
$params = array("%$var1%", "%$var2%");
$stmt = $handle->prepare($query);
$stmt->execute($params);

如果您在之前的代码中查看生成的查询,则会看到类似的内容SELECT * FROM tbl WHERE address LIKE '%"foo"%' OR address LIKE '%"bar"%',因为prepared语句在一个已被引用的字符串内引用了您的值。



 类似资料:
  • 问题内容: 我已经阅读了有关如何编写这些查询的多个示例,但是我正在努力使此特定代码像在使用时运行 这是匹配以a开头的用户名的正确方法吗? 问题答案: 不,您不需要内部单引号 您现在正在运行的语句将尝试匹配而不是匹配 bindParam将确保在将所有字符串数据提供给SQL语句时自动正确引用。

  • 本文向大家介绍thinkphp实现like模糊查询实例,包括了thinkphp实现like模糊查询实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了thinkphp实现like模糊查询的方法,分享给大家供大家参考。具体实现方法如下: 目前使用thinkphp框架进行项目开发的人越来越多了,由于其封装性较好,导致了很多纯PHP开发的部分不易上手,本文实例即以like模糊查询为例对此加以说明

  • 本文向大家介绍查询将MySQL LIKE实现为MySQL IN?,包括了查询将MySQL LIKE实现为MySQL IN?的使用技巧和注意事项,需要的朋友参考一下 要实现类似MySQL IN()的查询,您需要使用COUNT(),IF()以及LIKE运算符。让我们首先创建一个表- 使用插入命令在表中插入一些记录- 使用select语句显示表中的所有记录- 这将产生以下输出- 这是将LIKE实现为IN

  • 问题内容: 在这个查询中 我正在尝试将变量与PDO 绑定。不确定最后如何处理。 可不可能是 绑定到哪里 还是会 绑定到哪里 还是会完全不同? 问题答案: 您还可以说: 在MySQL末尾进行字符串连接,并不是在这种情况下有任何特殊原因。 如果要查找的部分本身可以包含百分比或下划线字符(因为这些字符对LIKE运算符具有特殊含义)或反斜杠(MySQL用作LIKE运算符的另一种转义层),则事情会变得更加棘

  • 问题内容: 我想写一个类似的查询,但它不返回任何东西: -它不起作用。 完美地工作。 这是我的代码: 问题答案: Spring数据JPA查询需要“%”字符以及查询中的空格字符,如 。 cf. http://docs.spring.io/spring- data/jpa/docs/current/reference/html 。 您可能希望完全摆脱注释,因为它看起来类似于标准查询(由spring数据

  • 我正在使用elasticsearch从json文件中过滤和搜索,我是这项技术的新手。所以我有点困惑如何在ElasticSearch中编写查询。 这是oracle查询。如何在ElasticSearch中编写此查询?我使用的是elasticsearch版本6.8.13