在hql数据库中存储html代码问题

时间:2010-10-17 06:17:35

标签: php sql mysql html

我想将HTML代码存储在SQL数据库中。它存储一切正常,除非有定义的属性,如border =“0”。 我认为单引号不是问题。我该如何避免这种情况发生。

错误:错误:您的SQL语法中有错误;检查与您的MySQL服务器版本对应的手册,以便在'0“>附近使用正确的语法。

3 个答案:

答案 0 :(得分:6)

您是否在尝试将HTML插入数据库之前转义HTML?假设您的HTML存储在变量$ html

$html = mysql_real_escape_string($html);
$sql = "INSERT INTO html_docs (html) VALUES('$html')";
mysql_query($sql);

答案 1 :(得分:5)

你需要逃避你的字符串,看起来像mysql_real_escape_string将在PHP中完成这项工作。

答案 2 :(得分:3)

正常的建议是不要连接参数和代码来构建SQL;使用静态SQL并将数据作为参数传递。所有不错的SQL API都有参数绑定机制。

但是,AFAICT,PHP数据库API中没有这样的机制。相反,在将字符串注入SQL语句之前,似乎应该使用mysql_real_escape_string来转义字符串。请有人告诉我,我错了,PHP作者并不是那么愚蠢。