MySQL语法错误

Red*_*ent 0 php mysql

$sql = "UPDATE galleries SET name='$name', desc='$desc', mainthumb='$mt' 
        WHERE id='$id'";
Run Code Online (Sandbox Code Playgroud)

这引起了一些错误的理由.我一定太累了,因为我没有看到它.

我已确认所有值都已发布.更糟糕的是,它几乎完全复制任何查询工作正常.

更新:

这已经解决了.这是事实,desc没有反引号.我也将按照建议使用PDO.

Ove*_*eke 7

desc不是一个不能用作列名的关键字吗?

  • 确实是.http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html - 请注意,如果你在反引号中包含列名,你应该使用这些保留字中的许多(全部?)无论如何做imho)它会工作得很好. (3认同)

Ben*_*mes 7

您有一个名为的列desc,它是一个保留字.你需要用反引号引用它.

`desc`='$desc'
Run Code Online (Sandbox Code Playgroud)