SQL语法错误ID突然等于零

时间:2017-01-25 09:21:34

标签: php mysql

有人知道这里有什么问题吗?

<?php
$q = intval($_GET['q']);
echo $q." "; // $q=2
$d = $_GET['d'];
echo $d." "; //$d=3priority
$m = preg_replace('/[0-9]+/', '', $d);
echo $m." "; //$m = priority
$s = intval($_GET['d']);
echo $s;// $s = 3
$sql = "UPDATE form SET $m = $q WHERE id = $s";
$result = $conn->query($sql); 
if ($conn->query($sql) === TRUE) {echo "das";}
else{
    echo "Error: " . $sql . "<br>" . $conn->error;
}
?>

我收到错误消息:

  

UPDATE表单SET = 0 WHERE id = 0您的SQL语法有错误;   检查与您的MySQL服务器版本对应的手册   正确的语法在第1行'= 0 WHERE id = 0'附近使用

但是,如果我回显$ m / $ q / $ s / $ d,则显示正确的值。但不知何故,他们在sql语句中被改为0。

如果能帮助我,那会很好。)

1 个答案:

答案 0 :(得分:0)

试试这个

$sql = "UPDATE form SET" . $m . "=" . $q . " WHERE id =" . $s;