给出代码
$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都是关闭的(本地值和主值)所以还有其他东西在表中插入反斜杠。