Mysqli UPDATE ERROR语法

时间:2014-01-09 02:59:17

标签: php mysql sql sql-update

我试图让这个工作但我不能

$sql="UPDATE QuickLink SET `Order`=$_O, `Text`=$_T, `Address`=$_A WHERE ID=$ID";

插入删除和选择都工作但我不能让它工作我不断得到相同的消息。

错误:您的SQL语法出错;查看与您的MySQL服务器版本对应的手册,以便在“Dojo for Students”附近使用正确的语法,Address ='http://student.classdojo.com/#!/login'WHERE ID ='在第1行

3 个答案:

答案 0 :(得分:1)

$sql="UPDATE QuickLink SET `Order`='" . $_O . "', `Text`='" . $_T ."', `Address`='" . $_A . "' WHERE ID=$ID";

答案 1 :(得分:0)

最好使用带参数的查询来防止SQL注入:

$sql="UPDATE QuickLink SET `Order`=?, `Text`=?, `Address`=? WHERE ID=?";

if ($stmt = $conn->prepare($sql)) {
    $stmt->bind_param("issi", $_O, $_T, $_A, $ID);
    $stmt->execute();
}

如果订单是字符串字段,请将s代替i。

答案 2 :(得分:0)

这很可能看起来像$ _O或$ _T有单引号,如Pekka建议的那样。此外,由于您使用的是MYSQLI,因此应使用mysqli_real_escape_string

在执行像Pekka建议的那样打印你的$ sql。

如果我不得不猜测一个解决方案,那么它将包含带单引号的文本字段。

$sql="UPDATE QuickLink SET `Order`="'".$_O."'", `Text`="'".$_T."'", `Address`="'".$_A."'" WHERE ID=$ID";
祝你好运!