我在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
)
使用 var_dump 它看起来像这样:
array(6) { ["name"]=> string(8) "Overview" ["weight"]=> int(0) ["group"]=> string(4) "left" ["checked"]=> int(0) ["tid"]=> int(96) ["nid"]=> int(20) }
我的代码,它给出了错误:
$id = db_insert('tabledrag_menu')->fields($adat)->execute();
当我使用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] => 左 [:db_insert_placeholder_3] => 0 [:db_insert_placeholder_4] => 96 [:db_insert_placeholder_5] => 20)
我认为,这部分会导致错误,但我不知道如何解决它:
值(“概述”、“0”、“左”、“0”、“96”、“20”)