您的SQL语法有错误;

时间:2014-04-24 00:57:56

标签: php mysql sql syntax-error

我正在尝试更新电影桌,我收到了这个错误:

  

您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在'{namereleaseruntimeratingdescription附近使用正确的语法,{ {1}})价值观(第1行'世界大战'

这是我的代码:

price

2 个答案:

答案 0 :(得分:2)

您会混淆INSERTUPDATE语法:

UPDATE `film`  
SET `name` = '$name',
    `release` = '$release',
    `runtime` = '$runtime',
    `rating` = '$rating',   
    `description` = '$des',
    `price` = '$price' 
WHERE `film_id` = '$fid'

一些补充说明:

  1. 仅供参考,you shouldn't use mysql_* functions in new code。它们不再被维护and are officially deprecated。请参阅red box?转而了解prepared statements,并使用PDOMySQLi - this article将帮助您确定哪个。如果您选择PDO,here is a good tutorial

  2. 我不知道您在何处清理数据,因此您可能会对SQL injections开放。

  3. 在此处使用mysql_real_escape_string()$name = mysql_real_escape_string($_POST['name']);没有任何意义,除非您正在运行我们之后不会看到的其他查询。

  4. 此行上的括号是不必要的:$release = ($_POST['release']);

答案 1 :(得分:0)

您的更新语法不正确,请尝试使用

$sql = mysql_query("UPDATE film SET name='$name',release='$release,runtime='$runtime',rating='$rating',description='$description' where film_id = '$id'");