如何在mysql数据库中插入html代码?

时间:2013-09-03 15:26:34

标签: php html mysql sql insert

我将许多html文件中的文本复制到一个文本文件/变量中,我想将这些数据(基本上是html代码)插入到mysql数据库中。我试过mysql_real_escape_string。但它仍然没有用。这就是我在做的事情:

$contentFromHtmlFile=file_get_contents($file);  
$all_html_content.=$contentFromHtmlFile; 
$all_html_content=mysql_real_escape_string($all_html_content);  
$insert_query = "insert into $databasetable (pdf_id,pdf_text_data) values (190,$all_html_content);";

mysql_query($insert_query) or die(mysql_error());

这是错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '<meta charset=\&quot;utf-8\&quot; />\n\n<div id=\&quot;jpedal\&quot; style=\&quo' at line 1

此处我要插入的文字链接:http://pastebin.com/F3BD745h

2 个答案:

答案 0 :(得分:1)

您已将字符串值放在单引号中:

 $insert_query = "insert into $databasetable(pdf_id,pdf_text_data)values(190,'$all_html_content');";

P.S: mysql _ 功能被删除,不要使用它们。使用mysqli或PDO。

答案 1 :(得分:0)

围绕单引号包装变量以表示它是一个字符串(在本例中):

$insert_query = "INSERT INTO $databasetable(pdf_id, pdf_text_data)
                 VALUES(190, '$all_html_content');";
                             ^                 ^

此外,如果您不需要使用字符串进行搜索或任何类似操作,我建议将其转换为base64_encode()的普通字符串:

$contentFromHtmlFile = file_get_contents($file);  
$all_html_content .= $contentFromHtmlFile;  
$all_html_content = base64_encode($all_html_content);
$all_html_content = mysql_real_escape_string($all_html_content);