php - 在 PHP 中转义引号两次

标签 php mysql mysql-real-escape-string

我有一个复杂的表格,我首先必须采用一些 $_GET 参数,显然我必须对它们执行 mysql_real_escape_string(),因为我在数据库。

对我来说,他们的问题是在初始数据库查找之后。当用户提交表单时,我将它们作为 $_POST 请求发送,显然必须再次执行此 mysql_real_escape_string 调用,以防有人试图用伪造的表单提交。

然后我遇到的问题是参数被转义了两次,我的查询开始看起来很奇怪,如下所示:

select field1 , field2 , from my_table where some_id = \'.$lookup_id.\' ...

所以系统似乎在添加\',这让我很困惑 :) 此外,在我的其他形式中,我还没有看到这种行为。关于可能导致此问题的任何想法?

一件奇怪的事情是,我试图向帖子发送未转义的参数,但同样的问题发生了。这是一条线索,但对我来说还不够。 :(

最佳答案

条纹斜线 http://php.net/manual/en/function.stripslashes.php函数可能有用 - 在你转义之前运行它?

关于php - 在 PHP 中转义引号两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5204674/

相关文章:

mysql - 如何测试你的 mysql 查询?

php - Mysql Php 使用 real_escape_string 转义单引号

php - Mysql_real_escape_string...还有其他地方的自动设置吗?

php - 在 PHP 中使用 header 传递 GET 变量

php - 用于防止使用相同标签重新标记相同照片/项目的 SQL

php - 在 Codeigniter 中更新多行

php - Aws PHP Sdk 3:S3::putObject():AWS HTTP 错误:cURL 错误 6:无法解析主机 's3.Ireland.amazonaws.com'

mysql - 在mysql中用循环填充表

mysql - 清理 MySQL 插入上的字符

mysql_real_escape_string 问题