1

我正在创建然后编辑表中的一行,但是我在 php 中的编辑 mysql 查询给了我一个我无法弄清楚的错误。有什么帮助吗?

创建查询:

$query = "INSERT INTO timelines (
id, event_name, event_date, date_created, attendee_count, attendee_names, maximum_attendees, creator_id, creator_name, price, thumbnail
) VALUES (
'{$timelineID}', '{$event_name}', '{$event_date}', '{$date_created}', '{$attendee_count}', '{$attendee_names}', '{$maximum_attendees}', '{$creator_id}', '{$creator_name}', '{$price}', '{$thumbnail}'
)";

编辑查询:

$query = "UPDATE timelines SET 
event_name = '{$event_name}', 
event_date = '{$event_date}', 
maximum_attendees = '{$maximum_attendees}', 
price = '{$price}', 
thumbnail = '{$thumbnail}',
WHERE id = {$timelineID}";

错误:

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 8 行的“WHERE id =”附近使用正确的语法

4

1 回答 1

10

WHERE您在子句之前有一个额外的逗号。只需将其删除,它就会正常工作。

thumbnail = '{$thumbnail}',
                          ^ here
WHERE ...

最终查询,

$query = "UPDATE timelines SET 
event_name = '{$event_name}', 
event_date = '{$event_date}', 
maximum_attendees = '{$maximum_attendees}', 
price = '{$price}', 
thumbnail = '{$thumbnail}'
WHERE id = {$timelineID}";

您的查询易受 攻击SQL INJECTION,请阅读下面的文章以了解如何保护它。

于 2012-12-06T03:35:15.100 回答