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

mysql PDO如何绑定LIKE

班承德
2023-03-14
问题内容

在这个查询中

select wrd from tablename WHERE wrd LIKE '$partial%'

我正在尝试将变量'$partial%'与PDO 绑定。不确定最后如何处理%

可不可能是

select wrd from tablename WHERE wrd LIKE ':partial%'

:partial绑定到哪里$partial="somet"

还是会

select wrd from tablename WHERE wrd LIKE ':partial'

:partial绑定到哪里$partial="somet%"

还是会完全不同?


问题答案:

您还可以说:

SELECT wrd FROM tablename WHERE wrd LIKE CONCAT(:partial, '%')

在MySQL末尾进行字符串连接,并不是在这种情况下有任何特殊原因。

如果wrd要查找的部分本身可以包含百分比或下划线字符(因为这些字符对LIKE运算符具有特殊含义)或反斜杠(MySQL用作LIKE运算符的另一种转义层),则事情会变得更加棘手。,根据ANSI
SQL标准)。

希望这不会影响您,但是如果您确实需要解决此问题,则可以使用以下凌乱的解决方案:

$stmt= $db->prepare("SELECT wrd FROM tablename WHERE wrd LIKE :term ESCAPE '+'");
$escaped= str_replace(array('+', '%', '_'), array('++', '+%', '+_'), $var);
$stmt->bindParam(':term', $escaped);


 类似资料:
  • 我正在使用来自第三方系统的一组DTD。我们的目标是将XML请求(符合这些DTD的请求映射到java中,然后将XML响应发送回系统)。 DTD是一成不变的(我无法控制更改它们)。 因此,为了进行映射,我使用XMLSpy将dtd转换为XML Schemas (xsd ),然后使用XJC编译器创建Jaxb绑定类。我用的是Java 7。 问题是,DTD 实际上没有命名空间。我有20个不同的DTD。10 表

  • 问题内容: 我正在探索python。我对python绑定感到好奇。任何人都可以解释一下,如何有可能从Python访问C库。 问题答案: 有几种方法可以从Python调用用C编写的代码。 首先,标准库中有ctypes模块。它允许您加载动态链接库(Windows上为DLL,Linux上为共享库)并直接从Python调用这些库中的函数。此类库通常用C编写。 其次,对于CPython,有Python /

  • 问题内容: 我试图将诺言与观点捆绑在一起。我不知道您是否可以直接执行此操作,但这就是我要尝试执行的操作。有什么想法我做错了吗? 注意:源代码有点超时,并使用静态数据,但这使代码更易于诊断。 编辑: JSFiddle页面:http : //jsfiddle.net/YQwaf/27/ 编辑:解决方案: 事实证明您 可以 直接绑定诺言。我的原始代码有两个问题: 使用setTimeout()而不是ang

  • 问题内容: 我有一个JList和ArrayList。如何将arraylist中的数据绑定到jlist.Ares有替代方法吗? 如何绑定以上代码。现在代码给出错误。 问题答案: 您无需克隆ArrayList。只需调用toArray()

  • 我正试图用slf4j log4j建立一个项目,但这该死的东西就是不起作用。。。我不断得到例外: 我查了一下,班级org.apache.log4j。级别是在我的项目下"Maven依赖 我已经尝试了以下选项: slf4j api log4j slf4j api slf4j-log4j12 slf4j api log4j slf4j api slf4j-log4j12 log4j 这些选项都不起作用:(

  • 通过营销通连接企业微信,直接触达微信客户,精准广告投放: 与企业微信互通,持续吸粉引流到CRM 标签分组微信客户,精准内容投放 追踪用户行为轨迹,了解客户动态 绑定企业微信需要贵司已开通企业微信账号,如果还没有企业微信账号,需到企业微信官网 注册企业微信。 在开始连接前,请确认是否已做好以下准备: 已在营销通授权绑定企业自己的微信小程序 在配置过程中需要企业微信管理员扫码授权 在配置过程中需要微信