Mysql错误 - 第1行的“1”附近

时间:2013-11-06 11:45:08

标签: php mysql

当我尝试更新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'";

提前致谢。

4 个答案:

答案 0 :(得分:5)

descreserved 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'";

keywords list

答案 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);
  

请使用特殊的撇号:“`”

希望这有帮助