2011-06-05 56 views
0

我有一个查询,我需要里面一个冒号来选择文本,基本上是这样的:如何用Zend_Db_Select选择冒号的东西?

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

现在,当我运行它,我得到的异常“无效的绑定变量名:场地”,这显然是因为Mysqli适配器不允许绑定变量。现在的事情是 - 我甚至不想用这个作为绑定变量,我想要非常像这样激发这个查询。我怎样才能防止Zend_Db_Select试图做它的事情?框架(#1398)存在一个未解决的问题,因此我想大多数人都会找到解决方法。可能是一个非常简单的,我只是太愚蠢,看不到它。

任何提示?

+1

您是否尝试过使用' - >这里(新Zend_Db_Expr(“标签=四方的场地= 12345”));' ? – Marcin 2011-06-06 01:03:42

回答

1

你为什么使用sprintf?你覆盖了内置的引用机制,通常会处理这种情况你:

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

D'oh。主要是因为我是个白痴。谢谢。 :) – Dominik 2011-06-06 04:59:16