处理撇号、php 和 pgsql

发布于 2024-09-03 01:12:18 字数 218 浏览 6 评论 0原文

对于我的表单,在将它们插入数据库之前,我在每个字段上使用 pg_escape_string 。所以我得到像名字='O''reilly'这样的东西。但当我尝试打印出来时,我得到了 O''reily,两个撇号。难道不应该只有 1 个撇号吗,O'reilly?

这不是一个调试问题,我只是想知道你是否有firstname='O''reilly',你如何打印它,所以它只是O'reilly而不是O''reilly?

For my forms, I'm using pg_escape_string on every field before I insert them into the database. So I get something like firstname='O''reilly'. But when I try to print that out, I get O''reily, 2 apostrophes. Shouldn't it only 1 apostrophe, O'reilly?

This isnt a debugging problem, im just wondering if you have firstname='O''reilly', how do you print that so it is just O'reilly instead of O''reilly?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

放赐 2024-09-10 01:12:18

DB 库通常没有(或从不)具有 unescape 函数,因为实际上没有必要这样做。数据库将存储并返回未转义的数据。另外,由于您正在调用该函数,这意味着您已经拥有未转义形式的数据。

但是,您可以通过简单调用 str_replace 从字符串中删除双撇号

echo str_replace("''", "'", "O''reilly");

DB libraries usually don't (or never) have an unescape function because there's no real need to do this. The DB will store and return the data unescaped. Plus, since you're calling the function, that means you already have the data in unescaped form.

However, you could remove double apostrophes from a string with a simple call to str_replace:

echo str_replace("''", "'", "O''reilly");
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文