好的我正在把头发拉过来,谷歌根本就没有这方面的帮助,
if (isset ($_GET['comment']))
$commentEntered = $_GET['comment'];
else
$commentEntered = "refuse";
上面我得到变量然后我用下面的代码将它传递给数据库,是的我知道它有注射的危险。
$sql = "insert into $DB_Table (comment) values('$commentEntered');";
$res = mysql_query($sql,$con) or die(mysql_error());
mysql_close($con);
if ($res) {
echo "success";
}else{
echo "faild";
}
所以当我在一个文本框中输入一个句子时,它将它传递给这个php文件。 GET方法获取输入的注释并将其存储在$ commentEntered
中现在,当我在文本框中输入一个单词时,评论存储没问题。但是当我输入由空格分隔的多个单词时,它将无法工作。
有什么想法吗?
答案 0 :(得分:0)
了解在遇到查询之前发生了什么。
var_dump($commentEntered)
我的赌注是URL包含空格而不是%20,因此$ commentEntered是第一次出现空格之前的所有内容。通过调试找出答案。解决此问题的唯一方法是在字符到达脚本之前将其转义。