我在Drupal 7中尝试了一个简单的插入查询,但它总是返回错误.我也尝试了db_insert,drupal_write_record和db_query,但每个函数都会返回各种错误.
我有一个tabledrag_menu表:

我有一个$ adat数组:
Array
(
[name] => Overview
[weight] => 0
[group] => left
[checked] => 0
[tid] => 96
[nid] => 20
)
Run Code Online (Sandbox Code Playgroud)
使用var_dump它看起来像这样:
array(6) { ["name"]=> string(8) "Overview" ["weight"]=> int(0) ["group"]=> string(4) "left" ["checked"]=> int(0) ["tid"]=> int(96) ["nid"]=> int(20) }
Run Code Online (Sandbox Code Playgroud)
我的代码,它给出了错误:
$id = db_insert('tabledrag_menu')->fields($adat)->execute();
Run Code Online (Sandbox Code Playgroud)
当我使用db_insert时,它返回此错误消息:
PDOException:SQLSTATE [42000]:语法错误或访问冲突:1064 SQL语法中有错误; 检查与MySQL服务器版本对应的手册,以便在'group,checked,tid,nid)附近使用正确的语法VALUES('Overview','0','left','0','96','20 ')'在第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); 数组([:db_insert_placeholder_0] =>概述[:db_insert_placeholder_1] => 0 [:db_insert_placeholder_2] => left [:db_insert_placeholder_3] => 0 …