Php Mysql不会更新该行

Php Mysql不会更新该行,php,mysql,Php,Mysql,可能重复: 我正在使用mysql和php更新记录。这是我的密码: $n=mysql_query("UPDATE chondas SET model='$model1', yearstart=$yearstart1, yearstop=$yearstop1, desc='$desc1', hp='$hp1', engine='$engine1',trim='$trim1', weight='$weight1' WHERE id=$

可能重复:

我正在使用mysql和php更新记录。这是我的密码:

$n=mysql_query("UPDATE chondas SET model='$model1', yearstart=$yearstart1,
                yearstop=$yearstop1, desc='$desc1', hp='$hp1', 
                engine='$engine1',trim='$trim1', weight='$weight1' WHERE id=$id1");
在下面的代码中,如果我去掉desc='$desc1',一切都会正常工作。什么会导致这个错误

当我在phpmyadmin中测试以下代码时,我得到了这个错误:

1064-您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第1行“desc='text of the textarea”附近使用的正确语法

DESC是MySQL中的保留字

用回击来逃避它

 `desc` = '$desc1'
DESC是一个标记,因此您需要使用反标记:

UPDATE chondas SET model='$model1', yearstart=$yearstart1, yearstop=$yearstop1, `desc`='$desc1', hp='$hp1', engine='$engine1',trim='$trim1', weight='$weight1' WHERE id=$id1

您还应该切换到PDO或mysqli,并使用绑定变量准备语句,以避免潜在的sql注入。

如果在phpMyAdmin中包含变量名,则查询将不会运行,例如:

UPDATE chondas SET model='$model1', yearstart=$yearstart1,
yearstop=$yearstop1, **desc='$desc1'**, hp='$hp1', 
engine='$engine1',trim='$trim1', weight='$weight1' WHERE id=$id1

此外,如果您混合使用您的和,例如:UPDATE chondas SET model='$model1'…

Hey Ers,PHP将不会运行。谢谢你的快速回复。我很确定这个错误与mysql有关,而不是与php有关。因为没有描述,一切都是完美的。顺便说一句,desc的长度是10000。我不知道这是否会影响到这一点。再次感谢!哦,谢谢!现在效果很好。我很惊讶这个网站上的答案是如此的快速和准确。谢谢大家!@user1959665我在3分钟前回答了,请参见您问题下方的第一条评论。点击链接并阅读页面上的答案。我上面的评论是对你们所有人的一般评论!谢谢