我正在使用postgres作为数据库,并注意到,PDO为变量绑定保留了一些Postgres语法功能,例如:
检查hstore是否有密钥SELECT * FROM t WHERE store ? 'key'
设置变量类型SELECT id::integer from t
我怎样才能摆脱这种情况?也许有人可以分享更多这样的例子?
答案 0 :(得分:1)
我不认为PDO中有占位符的转义机制。
解决方法:
CAST(id AS integer)
?
运算符,您可以使用exist(hstore, text)
函数Also:
您不能在同一SQL语句中同时使用命名和问号参数标记;选择一个或另一个参数样式。
因此,如果使用命名参数,使用 ?
运算符应该是安全的,反之亦然。
事实证明,你做不到。它会产生错误:mixed named and positional parameters
。