首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用空格插入SQL变量

问使用空格插入SQL变量
EN

Stack Overflow用户
提问于 2012-01-22 08:22:19
回答 1查看 174关注 0票数 0

好的,我在这件事上绞尽脑汁,谷歌对此一点帮助都没有,

代码语言:javascript
复制
if (isset ($_GET['comment']))

    $commentEntered = $_GET['comment'];

else

    $commentEntered = "refuse"; 

上面我得到了变量,然后我用下面的代码把它传递给数据库,是的,我知道它有注入的危险。

代码语言:javascript
复制
$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中

现在,当我在文本框中输入一个单词时,注释就会被存储起来,没有问题。但是当我输入由空格分隔的多个单词时,它将不起作用。

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-22 08:29:43

在命中查询之前找出发生了什么。

代码语言:javascript
复制
var_dump($commentEntered)

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8957949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档