【问题标题】:mysql_real_escape_string not taking care of single quotemysql_real_escape_string 不处理单引号
【发布时间】:2012-12-28 13:04:50
【问题描述】:

我试过这样:

$desc = mysql_real_escape_string($_POST['description'][$i]);

然后尝试将变量 $desc 插入 MySQL,我已经尝试过:

'".mysql_real_escape_string($desc)."'

作为实际插入查询的一部分。两者都不起作用。

我得到1x10-10 而不是1x10-10' pine。

一切都在第一个单引号处被切断。我什至尝试过:

$desc = mysql_real_escape_string("1x10-10' pine")`

看看会发生什么,以及添加斜线的情况。

有什么建议吗?

【问题讨论】:

标签: php mysql database escaping


【解决方案1】:

看起来不是 mysql_real_escape_string 也不是 SQL,而是您的 HTML 负责该行为。

确保您使用带有ENT_QUOTES 标志的htmlspecialchars 打印标签属性。

【讨论】:

  • 感谢所有答案,我也相信这是页面上的 HTML 被发送到进程页面。使用带有 ENT_QUOTES 标志的 htmlspecialchars 的建议会弄乱查询,所以我正在重建这两个页面,稍后会检查结果。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多