【发布时间】:2015-03-09 17:11:00
【问题描述】:
我尝试在 Mysql 数据库中插入这些信息
$mytext = "this is a word in french d'origine francaise";
然后是PHP sql代码:
$sql = "INSERT INTO tchapter (content) VALUES ('". $mytext ."')";
它会给我一个错误,因为我在 $mytext 中有一个撇号字符,实际上它会混合在 $sql 中存在的撇号 '".$mytext."' 之间。
我的问题是准备要输入数据库的文本以防止特殊字符出现任何类型的错误的正确方法是什么。
我还应该从数据库中取回之前出现在 html 页面中的文本。
【问题讨论】:
-
如果您使用 MySQLi 或 PDO 和参数化查询,as you should be,这不是问题。
-
@JayBlanchard 建议 MySQLi 或 PDO 是更好的方法。但是 mysql_real_escape_string 会帮助你。 php.net/manual/en/function.mysql-real-escape-string.php
-
那就是
addslashes($str)
标签: php mysql utf-8 sql-insert text-formatting