21

hstore内のキーの存在を検出するには、次のようなクエリを実行する必要があります。

SELECT * FROM tbl WHERE hst ? 'foo'

ただし、それは私に PDOException を与えます:

PDOException: SQLSTATE[HY093]: Invalid parameter number: no parameters were bound: SELECT * FROM tbl WHERE hst ? 'foo'

PDO が疑問符をプレースホルダーとして認識しないように、疑問符をエスケープする方法はありますか? 最大 4 つのバックスラッシュと 2 つの疑問符 ( ??) を試してみましたが、疑問符をそのままにしておくように PDO を説得するものはないようです。

4

3 に答える 3

-3

疑問符が無視されるように、PDO ネイティブの準備済みステートメントを無効にすることをお勧めします。

$pdo->setAttribute(\PDO::ATTR_EMULATE_PREPARES, true);
于 2015-12-22T10:36:23.603 に答える