我有一个查询,我需要在里面选择带冒号的文本,基本上它看起来像这样:
$select = $this->db->select()
->from('table')
->where(sprintf('tag = "%s"','foursquare:venue=12345'));
现在当我运行它时,我得到异常“无效的bind-variable name:venue”,这显然是因为Mysqli适配器不允许绑定变量。现在的事情是 - 我甚至不想将它用作绑定变量,我想解雇那个查询,就像这样。我怎样才能阻止Zend_Db_Select试图做到这一点呢?框架(#1398)存在一个未解决的问题,这个问题非常陈旧且不固定,因此我想大多数人都会找到解决方法。可能是一个非常简单的,我看起来太愚蠢了。
任何提示?
答案 0 :(得分:1)
你为什么使用sprintf?您正在覆盖通常会为您处理此情况的内置引用机制:
$select = $this->db->select()
->from('table')
->where('tag = ?', $tag);