我试图让这个工作但我不能
$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行
答案 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";
祝你好运!