0

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

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

现在,当我运行它时,我得到异常“无效的绑定变量名称:venue”,这显然是因为 Mysqli 适配器不允许绑定变量。现在的问题是——我什至不想把它用作绑定变量,我想像这样触发那个查询。我怎样才能阻止 Zend_Db_Select 尝试做这件事?框架 ( #1398 ) 存在一个未解决的问题,该问题非常陈旧且未修复,所以我想大多数人都找到了解决方法。可能是一个非常简单的,我只是太愚蠢了,看不到它。

有什么提示吗?

4

1 回答 1

1

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

$select = $this->db->select()
    ->from('table')
    ->where('tag = ?', $tag);
于 2011-06-05T21:40:11.160 回答