我正在尝试更新电影桌,我收到了这个错误:
您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在'{
name
,release
,runtime
,rating
,description
附近使用正确的语法,{ {1}})价值观(第1行'世界大战'
这是我的代码:
price
答案 0 :(得分:2)
UPDATE `film`
SET `name` = '$name',
`release` = '$release',
`runtime` = '$runtime',
`rating` = '$rating',
`description` = '$des',
`price` = '$price'
WHERE `film_id` = '$fid'
一些补充说明:
仅供参考,you shouldn't use mysql_*
functions in new code。它们不再被维护and are officially deprecated。请参阅red box?转而了解prepared statements,并使用PDO或MySQLi - this article将帮助您确定哪个。如果您选择PDO,here is a good tutorial。
我不知道您在何处清理数据,因此您可能会对SQL injections开放。
在此处使用mysql_real_escape_string()
:$name = mysql_real_escape_string($_POST['name']);
没有任何意义,除非您正在运行我们之后不会看到的其他查询。
此行上的括号是不必要的:$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'");