【问题标题】:php pdo double quotes also getting escapedphp pdo 双引号也被转义
【发布时间】:2013-07-10 07:31:48
【问题描述】:

在将值注入数据库之前,我正在使用 php pdo->quote。但令人惊讶的是,双引号 (") 也被转义了!尝试在 php.ini .htaccess 和 ini_set 中禁用 magic_quotes_gpc、magic_quotes_runtime、magic_quotes_sybase。仍然不走运。双引号与单引号一起被转义。 它不仅在向数据库插入值时添加斜杠,甚至是简单的 echo $pdo->quotes('hi "this" is a test');正在给我 'hi \"this\" is a test' 作为输出。我不想逃避双引号!是否有任何解决方法而不切换到准备好的语句?由于我面临许多问题,我避免使用准备好的陈述!

我确信我没有在任何地方使用过 addlashes。有什么办法可以解决这个问题吗?我正在使用 xampp 1.8.2。请帮忙。谢谢!

【问题讨论】:

  • 尝试使用准备好的语句,如本页所述:php.net/manual/en/pdo.quote.php
  • 是否有任何解决方法而不切换到准备好的语句?由于我面临许多问题,我避免使用准备好的陈述!
  • 看报价页我看不出来。
  • 您遇到了什么问题?
  • 使用准备好的语句是值得的,无论您可能已经开始使用它们的学习曲线。没有它们,您将面临 SQL 注入。

标签: php pdo


【解决方案1】:

给我'hi \"this\" is a test' 作为输出。

这是正确的输出。它绝对没有错。你根本不用担心这些斜线。

我不想转义双引号!

你会的。至少只要您使用此功能。

无论如何,您应该改用准备好的陈述

【讨论】:

  • 看到我认为在将数据插入数据库之前不需要在双引号中添加斜杠吗?
  • :) 还是谢谢!出于我的好奇“将数据插入数据库时​​双引号有害吗?”
  • 你有什么理由这么想吗?
  • 我认为只有单引号是有害的!我的错!感谢您指出:)
  • 这两个引号都不是“有害的”。有些字符必须在字符串文字中进行转义,不仅限于引号。这只是格式化规则
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-26
  • 1970-01-01
  • 2012-02-04
  • 1970-01-01
  • 2013-06-17
  • 2013-08-09
相关资源
最近更新 更多