微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – zend db选择像通配符

我试图在zend db的选择中找到一些关于“like”子句的信息,但没有成功.
问题是如何在LIKE子句附近使用通配符“%”并不清楚

我最初使用过的坏主意是在网上的数百个地方推荐的

$db->select()
    ->where('text LIKE "%'.$query.'%"');

我想,正确答案是这样的:

$db->select()
    ->where('text LIKE ?',$query);

但是没有使用通配

我尝试了几种解决方案,但它们似乎都不起作用:

$db->select()
    ->where('text LIKE ?','%$query%');
$db->select()
    ->where('text LIKE ?','%{$query}%');

任何人都可以指向文档,或提供一个很好的解决方案吗?

The second argument to the where() method is optional. It is a value to substitute into the expression. Zend_Db_Select quotes the value and substitutes it for a question-mark (“?”) symbol in the expression.

说不够

解决方法

%符号需要是绑定到查询的变量的一部分.如果您使用双引号而不是单引号,那么您的第二个示例将起作用.所以你可以这样做:

$query = '%'.$query.'%';
$db->select()
   ->where('text LIKE ?',$query);

要么:

$db->select()
   ->where('text LIKE ?',"%$query%");

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐