0

内部にコロンを含むテキストを選択する必要があるクエリがあります。基本的には次のようになります。

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

これを実行すると、「Invalid bind-variable name :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 に答える