插入PHP& MySQL错误

时间:2013-07-18 17:54:07

标签: php mysql pdo

我无法将视图字符串插入数据库。我不完全确定导致它的原因,但这是我的代码;

$taskupdate = $db_new->prepare("INSERT INTO clients_tasks_updates (tid, sid, update, date, hours) VALUES (:tid, :sid, :update, :date, :hours)");
$taskupdate->execute(array(
        ':tid' => '1', 
        ':sid' => '2',
        ':update' => 'Here is an update',
        ':date' => '01-01-2013',
        ':hours' => '50'
));

这是我得到的错误代码:

Array ( [0] => 42000 [1] => 1064 [2] => 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 'update, date, hours) VALUES ('1', '2', 'Here is an update', '01-01-2013', '50')' at line 1 ) 

Task ID: 2
Staff ID: Scott
Update: Layout built for upcoming wordpress site.
Date: 22-10-2012
Hours: 6

2 个答案:

答案 0 :(得分:3)

update是一个保留字,需要用反引号括起来。

INSERT INTO clients_tasks_updates 
(`tid`, `sid`, `update`, `date`, `hours`)...

答案 1 :(得分:2)

UPDATE是SQL中的reserved word。如果您真的想在查询中包含它,则需要引用它。

INSERT INTO clients_tasks_updates (tid, sid, `update`, `date`, hours) VALUES (....

列和表可以用保留字命名;但是每当你提到它们时,你需要将它们包裹在反引号中以逃脱它们。

更好的方法是重命名列,使其不使用保留字 - 从长远来看,它会让您的生活更轻松。