php - 如何从 postgres 数据库中搜索带有单引号的字段?

标签 php database postgresql

我有一个可能包含单引号的字段,它用单引号存储在数据库中。例如字段可能是这样的。

1|xyz的 friend |21.3

2|你好,tty的 friend |42.2

用户输入需要显示值的搜索查询。

例如,如果用户输入 --> xyz's 存储在变量 (PHP) 中

我做不到

select * from table where field LIKE '%variable%' 

因为变量中已经有引号。并且 postgres 不允许我在 %variable%

周围使用双引号

我也试过这样做

select * from table where field LIKE E'%variable%' 

使用转义序列,但这也行不通。有帮助吗?

最佳答案

不要尝试自己引用,使用图书馆。在这种情况下,您需要 pg_escape_string .所以添加百分比包装器,然后将其提供给 pg_escape_string,然后将其结果放入您的 SQL。

顺便说一句,在 PostgreSQL 字符串文字中转义单引号的正确方法是将其加倍,如果您将 "it's" 作为字符串,那么数据库希望看到 SQL 中的“它”是

关于php - 如何从 postgres 数据库中搜索带有单引号的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10545387/

相关文章:

sql - 使用 vb.net 将 MS Access 行插入数据库

sql - 创建函数 : Syntax Error at or near $$

linux - 在本地 Windows 计算机中运行 postgres 命令时出现问题。在Linux、Mac下运行成功,但在windows下失败

php - 具有分层数据的多棵树(左值和右值)

javascript - 如何在 AngularJS 中使用 CKEditor 上传图像?

php - 分解字符串以获取关键字(Youtube channel 关键字)

database - Sqlite 给列的大小超过了需要

php - Uri 的 Symfony2 Controller 不可调用,但 Uri 正常,发生了什么?

android - 在 Android 应用程序中不断更新数据库是一种好习惯吗?

sql - 了解 postgresql 中的位图索引