我尝试了一个简单的插入查询Drupal 7,但它总是返回错误。 我试过了db_insert,drupal_write_record和db_query也是,但是每个函数都返回各种错误。Drupal 7 - db_insert返回错误
我有一个tabledrag_menu表:
我有一个$ ADAT阵列:
Array
(
[name] => Overview
[weight] => 0
[group] => left
[checked] => 0
[tid] => 96
[nid] => 20
)
用的var_dump它看起来像这样:
array(6) { ["name"]=> string(8) "Overview" ["weight"]=> int(0) ["group"]=> string(4) "left" ["checked"]=> int(0) ["tid"]=> int(96) ["nid"]=> int(20) }
我的代码,它给出了错误:当我使用db_insert,它与此错误消息返回
$id = db_insert('tabledrag_menu')->fields($adat)->execute();
:
PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 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 'group, checked, tid, nid) VALUES ('Overview', '0', 'left', '0', '96', '20')' at line 1: INSERT INTO {tabledrag_menu} (name, weight, group, checked, tid, nid) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5); Array ([:db_insert_placeholder_0] => Overview [:db_insert_placeholder_1] => 0 [:db_insert_placeholder_2] => left [:db_insert_placeholder_3] => 0 [:db_insert_placeholder_4] => 96 [:db_insert_placeholder_5] => 20)
我认为,这部分导致了错误,但我不知道如何修复它:
VALUES ('Overview', '0', 'left', '0', '96', '20')
是的,你说得对。谢谢。 –
仅供参考,您可以在单引号内使用'''group \'''(带背单词)。但如果可能,我建议更改字段名称 – casivaagustin