drupal 7 模块不会向 Mysql 插入任何内容


drupal 7 module wont insert anything to Mysql

今天我正在努力解决我的自定义模块。现在的问题是,当我调用页面回调时,我有db_insert查询,它将返回我内部 500(消息:sql 状态 4200,查询有问题(。所以JavaScript调用页面女巫将启动模块,并在进一步开发时给出参数,就像它将插入MySQL一样。这是大钩子:

array_push($values, array(
    'who' => 'a',
    'when' => 'a',
    'where' => 'a',
     )
);
$testi = array(
    'who' => 'me', 
    'when' => 'yesterday', 
    'where' => 'yomama',
    );
$query = db_insert('tablename')
    ->fields( $testi )
    ->execute();
print_r($testi);

我一直在测试各种查询"格式"。例如:

$query = db_insert('pgstats')
    ->fields( array(
    'who' => 'me', 
    'when' => 'yesterday', 
    'where' => 'yomama',
    ))
    ->execute();

但是什么都没有...

编辑:@2pha建议提供以下信息:

PDOException: SQLSTATE[42000]: 语法错误或访问冲突: 1064 您的 SQL 语法有错误;检查与您的MySQL服务器版本相对应的手册,了解在第1行的"时间,地点"(值("我","昨天","yomama"(附近使用的正确语法:插入{pgstats}(谁,何时,何地(值(:d b_insert_placeholder_0,:d b_insert_placeholder_1,:d b_insert_placeholder_2(;数组 ( [:d b_insert_placeholder_0] => me [:d b_insert_placeholder_1] => 昨天 [:d b_insert_placeholder_2] => yomama ( in stats_recieve_info(( 中(模块文件的第 53 行(

我找到了它不起作用的原因!我的表有名为"where"和"when"的列,出于某种原因,drupal没有将它们作为列名传递,而是作为语法传递。那一天....