我将许多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=\"utf-8\" />\n\n<div id=\"jpedal\" style=\&quo' at line 1
此处我要插入的文字链接:http://pastebin.com/F3BD745h
答案 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);