使用空格插入SQL变量

时间:2012-01-22 00:22:19

标签: php mysql

好的我正在把头发拉过来,谷歌根本就没有这方面的帮助,

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

现在,当我在文本框中输入一个单词时,评论存储没问题。但是当我输入由空格分隔的多个单词时,它将无法工作。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

了解在遇到查询之前发生了什么。

var_dump($commentEntered)

我的赌注是URL包含空格而不是%20,因此$ commentEntered是第一次出现空格之前的所有内容。通过调试找出答案。解决此问题的唯一方法是在字符到达脚本之前将其转义。