2012-12-06 63 views
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}' 
)"; 

编辑查询:

错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id =' at line 8

+1

我希望这些变量进行消毒并逃脱。 –

+1

你好,小[Bobby Tables](http://bobby-tables.com/)。 – Amadan

+0

为什么不先尝试'或死(mysql_error())? –

回答

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脆弱的,请阅读下面的文章,以了解如何从它保护。

+1

+1阅读我的评论= D –

+0

我试过了,现在得到一个不同的错误: 你的SQL语法错误;检查与您的MySQL服务器版本对应的手册,在第7行''附近使用正确的语法 –

+0

'thumbnail ='{$ thumbnail}''和 'WHERE id = {$ timelineID}之间是否有额外的空间“ '? –