0

我有一个这样的mysql语句:

mysql_query("INSERT INTO movies (comments, description, synopsis)
VALUES ('$_POST["comments"]', '$_POST["desc"]',$_POST["synopsis"])");

如您所见,非常简单明了。问题是当我在表单中输入特殊字符时,它不会将数据插入到我的表中(使用 phpmyadmin 直接检查是否已插入)。例如,如果我在评论文本区域中输入此值:“这是一个评论”,如果我输入:“你叫什么名字?:John doe 是我的名字”它会中断。我知道它是因为 mysql 使用字符......关于我应该做什么的任何建议?

4

3 回答 3

7
mysql_query("INSERT INTO movies (comments, description, synopsis) 
VALUES ('".mysql_real_escape_string($_POST["comments"])."', '".mysql_real_escape_string($_POST["desc"])."','".mysql_real_escape_string($_POST["synopsis"])."'"); 
于 2012-04-13T01:14:25.333 回答
0
$comments = mysql_real_escape_string($_POST['comments']);
$desc = mysql_real_escape_string($_POST['desc']);
$synopsis = mysql_real_escape_string($_POST['synopsis']);

mysql_query("INSERT INTO movies (comments, description, synopsis)
VALUES ('$comments', '$desc', '$synopsis'");
于 2013-04-23T12:17:56.170 回答
-1
$comments = mysql_real_escape_string($_POST['comments']);
$desc = mysql_real_escape_string($_POST['desc']);
$synopsis = mysql_real_escape_string($_POST['synopsis']);

mysql_query("INSERT INTO movies (comments, description, synopsis)
VALUES ('$comments', '$desc', '$synopsis'");

欲了解更多信息谷歌“php addlashes”,或看看这个页面看起来解释http://www.tizag.com/mysqlTutorial/mysql-php-sql-injection.php

于 2012-04-13T01:17:10.877 回答