Php PDO绑定参数占位符PostgreSQL冲突
我将postgres用于数据库,注意到PDO为变量绑定保留了一些postgres语法特性,例如: 检查hstore是否有键Php PDO绑定参数占位符PostgreSQL冲突,php,postgresql,pdo,placeholder,Php,Postgresql,Pdo,Placeholder,我将postgres用于数据库,注意到PDO为变量绑定保留了一些postgres语法特性,例如: 检查hstore是否有键SELECT*FROM t WHERE store?“键“ 设置变量类型从t中选择id::integer 我怎样才能避免这种情况?也许有人可以分享更多这样的例子?我不认为PDO中有占位符的转义机制 解决办法: 要在Postgres中强制转换值,可以使用符合SQL的版本:CAST(id为整数) 对于hstore?操作符,您可以使用exist(hstore,text)功能 :
SELECT*FROM t WHERE store?“键“
设置变量类型从t中选择id::integer
我怎样才能避免这种情况?也许有人可以分享更多这样的例子?我不认为PDO中有占位符的转义机制 解决办法:
- 要在Postgres中强制转换值,可以使用符合SQL的版本:
CAST(id为整数)
- 对于hstore
操作符,您可以使用?
功能exist(hstore,text)
?
运算符应该是安全的,反之亦然
事实证明,你不能。它会产生错误:
混合了命名参数和位置参数
请您澄清问题的确切原因?您对?
PDO参数占位符有问题吗?我找到了一种替代使用的方法?hstore参数,所以,是的。但问题不在于如何解决问题?占位符,但如何允许使用它,或者更确切地说如何使用标准postgresql功能和pdo绑定。