我无法将视图字符串插入数据库。我不完全确定导致它的原因,但这是我的代码;
$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
答案 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 (....
列和表可以用保留字命名;但是每当你提到它们时,你需要将它们包裹在反引号中以逃脱它们。
更好的方法是重命名列,使其不使用保留字 - 从长远来看,它会让您的生活更轻松。