转义数组中的字符串以进行Postgresql查询时使用什么php函数

亚当·UK73

我有一个使用数组的查询,如下所示:

SELECT * FROM devices WHERE code = ANY ('{"value1","value2","..."}');

如果value1是,val"ue1则查询将失败。我可以通过在双引号前使用反斜杠来解决此问题。我正在尝试使用标准pg_函数对此进行转义pg_escape_stringpg_escape_literal或者pg_escape_identifier似乎无法正确格式化字符串。

  • 是否有特定的函数可以逃脱这些类型的数组,还是只使用自己编写?

  • 关于如何编写查询,是否有更好的建议?

理想情况下,我想为此使用参数化查询,但似乎无法将数组作为参数传递给pg_query_params()

提前谢谢了。

Stefanov.sm

您可以使用以下修改后的查询版本:

SELECT * FROM devices WHERE code = ANY (ARRAY['value1','value2','...']::text[]);

转义value1..valueN使用pg_escape_string并用引号引起来。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当字符串在资源中时,为什么String.Format不能对字符进行转义?

查询MySQL数据库时PHP中的“转义”引号字符串

为什么在PostgreSQL上的查询(在PHP上)返回字符串数组而不是assoc数组?

新的Flash Player 14中的“ ExternalInterface使用JSON约定对字符串进行转义”是什么?

使用PHP消除字符串中的HTML转义序列

NodeJS –在PostgreSQL查询中添加字符串数组

PHP函数从数组构建查询字符串

尝试使用PL / PgSQL创建动态查询字符串以在PostgreSQL 9.6中创建DRY函数

转义字符串在mysql concat函数中未转义

使用mysqli转义字符串转义数组

PostgreSQL如何查询字符串数组

如何在PostgreSQL中利用Python代码转义字符串进行SQLInjection

打印时显示数组,但无法与php中的字符串进行比较

PHP尚未使用实体转义的字符串转义

PHP中数字索引数组的最短查询字符串

使用jooq创建查询字符串时如何转义单引号?

PHP数组使用CachingIterator进行字符串转换的通知

查询字符串中缺少参数时使用什么状态代码?

PHP 使用 preg_filter 从数组中搜索字符串以进行匹配

使用 PHP 中的字符串对关联数组进行排序

在localStorage中添加字符串数组,但不使用转义字符

Php 函数使用字符串搜索对象数组

使用基于字符串中的字符的比较器对字符串数组进行排序

使用 jq 对数组中的字符串进行排序

将字符串值与 PHP/Laravel 中的字符串数组进行比较?

使用wget --mirror转义查询字符串

使用VB 2013时,我无法在每个字符串中的子字符串上对字符串数组进行排序

使用 SED 流编辑器时如何转义字符串中的特殊字符

如何使用Java在PostgreSQL中安全地转义SQL的任意字符串