将变量输入sql表问题

时间:2012-01-21 23:34:26

标签: php sql

好的我在将变量插入sql表时遇到问题。继承我的代码

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";
}// end else

我的问题是,当我传递一个单词时它可以工作,但是当收到注释的文本框中有任何空格时,它不会插入?

即 - 用户输入Hello - 这有效

用户输入Hello World - 这不起作用

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:0)

$sql = "INSERT INTO " . $table . " (comment) " . 
       "VALUES ('" . mysql_real_espace_string($commentEntered) . "')";

另外,在“$ sql = ...”行之前转储var $ commentEntered以查看它输出到屏幕的内容。

var_dump($commentEntered);

另外,尝试从GET请求方法切换到POST并从$ _POST中获取数据。

答案 1 :(得分:0)

尝试致电:

 mysql_query("COMMIT");

关闭连接之前。