PHP-如何使用问号’?在Zend_Db_Select where()子句中?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP-如何使用问号’?在Zend_Db_Select where()子句中?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含937字,纯文字阅读大概需要2分钟。
内容图文
![PHP-如何使用问号’?在Zend_Db_Select where()子句中?](/upload/InfoBanner/zyjiaocheng/655/03c2bb0e8c684e63bf6f37e649420e78.jpg)
我尝试将以下MySQL查询转换为等效的Zend select()语句:
SELECT `entity_id` FROM `my_table` WHERE `attribute_id` IN (541,554,555,556) AND LOWER(REPLACE(TRIM(`value`), '-', '')) REGEXP '([^[:space:]]* )?$param$'
$param是一个PHP变量,已被过滤为仅包含字母数字字符.
到目前为止,这是我对Zend select()语句的了解:
$db->select()
->from('my_table', 'entity_id')
->where('attribute_id IN (?)', array(541,554,555,556))
->where('LOWER(REPLACE(TRIM('
. $db->quoteIdentifier('value')
. '), "-", "")) REGEXP "([^[:space:]]* )?'
. $param
. '$"');
$param =’foo’时实际输出的SQL:
SELECT `entity_id` FROM `my_table` WHERE (attribute_id IN (541, 554, 555, 556)) AND (LOWER(REPLACE(TRIM(`value`), "-", "")) REGEXP "([^[:space:]]* )foo$")
我需要能够告诉where()不要尝试替换问号.怎么样?
解决方法:
一般来说,我相信您可以简单地替换“?” Zend_Db_Expr(‘?’)的字符串.
就您的情况而言,我认为您想将整个第二个WHERE子句替换为:
->where(new Zend_Db_Expr('LOWER(REPLACE...'))
遵循这些原则…
内容总结
以上是互联网集市为您收集整理的PHP-如何使用问号’?在Zend_Db_Select where()子句中?全部内容,希望文章能够帮你解决PHP-如何使用问号’?在Zend_Db_Select where()子句中?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。