如何使用Zend_Db_Select选择带冒号的内容?

时间:2011-06-05 21:21:14

标签: php mysql zend-framework zend-db-select

我有一个查询,我需要在里面选择带冒号的文本,基本上它看起来像这样:

$select = $this->db->select()
    ->from('table')
    ->where(sprintf('tag = "%s"','foursquare:venue=12345'));

现在当我运行它时,我得到异常“无效的bind-variable name:venue”,这显然是因为Mysqli适配器不允许绑定变量。现在的事情是 - 我甚至不想将它用作绑定变量,我想解雇那个查询,就像这样。我怎样才能阻止Zend_Db_Select试图做到这一点呢?框架(#1398)存在一个未解决的问题,这个问题非常陈旧且不固定,因此我想大多数人都会找到解决方法。可能是一个非常简单的,我看起来太愚蠢了。

任何提示?

1 个答案:

答案 0 :(得分:1)

你为什么使用sprintf?您正在覆盖通常会为您处理此情况的内置引用机制:

$select = $this->db->select()
    ->from('table')
    ->where('tag = ?', $tag);