Php 在sql数据库中存储html代码的问题

Php 在sql数据库中存储html代码的问题,php,sql,mysql,html,Php,Sql,Mysql,Html,我想在SQL数据库中存储HTML代码。除了定义了诸如border=“0”之类的属性外,它可以很好地存储所有内容。 我认为单引号不是问题。我如何避免这种情况发生 错误:错误:您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以了解在“0”附近使用的正确语法。您需要转义字符串,看起来将在PHP中完成此工作。在尝试将HTML插入数据库之前是否转义HTML?假设您的HTML存储在变量$HTML中 $html = mysql_real_escape_string($html); $sql =

我想在SQL数据库中存储HTML代码。除了定义了诸如border=“0”之类的属性外,它可以很好地存储所有内容。 我认为单引号不是问题。我如何避免这种情况发生


错误:错误:您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以了解在“0”附近使用的正确语法。您需要转义字符串,看起来将在PHP中完成此工作。

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

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

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


然而,AFAICT,在PHP数据库API中没有这样的机制。相反,在将字符串注入SQL语句之前,您似乎应该使用
mysql\u real\u escape\u string
来转义字符串。请有人告诉我,我错了,PHP作者没有那么愚蠢。

有一种叫做PDO的东西可以做到这一点。AFAIK默认情况下,它不在PHP中。所以,当我想再次以普通HTML打印时,我应该使用什么。我的意思是,有时数据显示为不应该出现这种情况。但是,如果没有看到一些相关的代码片段,就很难提供任何建议。@Zack-转义字符串不会存储在转义数据库中。查询数据库时,您会得到y我们的线没有被替换。这可能对你有帮助