当我尝试更新MySQL记录时,收到此错误:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'desc ='testfdsf', prezzo = 'test', img = 'upload/immagine_non_disponibile.jpg' W' at line 1
这是我的UPDATE查询。
$q_m = "UPDATE rent_offerte SET nome = '$nome_n', desc ='$desc_n', prezzo = '$prezzo_n', img = '$target' WHERE id = '$id'";
提前致谢。
答案 0 :(得分:5)
desc
是reserved word逃脱它:
...
SET nome = '$nome_n', `desc` ='$desc_n'...
答案 1 :(得分:2)
descé关键字,您需要在字段中使用``
$q_m = "UPDATE rent_offerte SET nome = '$nome_n', `desc` ='$desc_n', prezzo = '$prezzo_n', img = '$target' WHERE id = '$id'";
答案 2 :(得分:0)
“desc”是SQL中的保留关键字,用于降序(f.e.ORDER BY,因为DESC会按名称降序排序你的结果),重命名你的变量desc,它应该可以工作。
答案 3 :(得分:0)
尝试使用sprintf来标记您的查询,并且desc是MYSQL语法中的reserved keyword。
请参阅下面的查询的有效版本:
$query = sprintf("UPDATE rent_offerte SET nome='%s', `desc` = '%s', prezzo = '%s', img='%s' WHERE id='%s', $nome_n, $desc_n, $prezzo_n, $target, $id);
请使用特殊的撇号:“`”
希望这有帮助