使用PDO的撇号准备和magic_quotes关闭

时间:2014-01-02 00:33:30

标签: php pdo quotes

给出代码

$stmnt= $pdo->prepare ("insert into books (author, title, purchased, completed,
price, format) VALUES (:author, :title, :purchased, :completed,:price, :format)"); 
  $stmnt->bindParam (':author',    $author);
  $stmnt->bindParam (':title',     $title);
  $stmnt->bindParam (':purchased', $purchased);
  $stmnt->bindParam (':price',     $price);
  $stmnt->bindParam (':completed', $completed);
  $stmnt->bindParam (':format',    $format);

MySQL表中存储的字符串dog's

dog's还是dog\'s

PHPAdmin说dog\'s

在任何一种情况下,当我使用PDO从MySQL返回字符串时,我只看到字符串中的字符,但不包括撇号,例如dog

我需要做些什么才能正确显示字符串?

phpinfo报告magic_quotes已关闭。

修改

我发现如果我使用PHPMyAdmin手动删除斜杠然后使用htmlentities或htmlspecialchars就可以了。现在我只需弄清楚为什么反斜杠存储在sql表中。

PHPInfo说magic_quotes_gpc和magic_quotes_runtime都是关闭的(本地值和主值)所以还有其他东西在表中插入反斜杠。

0 个答案:

没有答案