0

我最近一直在将所有旧的 mysql_query 调用切换到 PDO。我遇到了 mysql_query 配置中不存在的问题。当我尝试使用引号将变量输入数据库时​​,它在我的数据库中显示为转义。我在我的 php.ini 文件中禁用了魔术引号。

$myString = "Enter 'one' now";
$sql=$pdo->prepare("UPDATE $tbl_name SET string=:myString WHERE etc...);
$sql->execute(array(':myString' => $myString));

这更新为

Enter \'one\' now

我需要的是

Enter 'one' now

在我切换到 PDO 之前,这并没有发生。有没有办法在不失去安全性的情况下解决这个问题?

谢谢!

4

1 回答 1

3

您在服务器上启用了魔术引号,它的PHP 文档告诉您可以将其关闭的各种方法。

关于您的评论:您还可以尝试php.ini在您的主目录中创建一个文件,其中包含以下内容:

magic_quotes_gpc = off
magic_quotes_runtime = off
magic_quotes_sybase = off

如果这不起作用,请联系您的主机以解决问题。

于 2013-08-14T22:47:26.707 回答