【问题标题】:drupal 7 module wont insert anything to Mysqldrupal 7 模块不会向 Mysql 插入任何内容
【发布时间】:2014-12-17 15:13:54
【问题描述】:

今天我正在为我的自定义模块而苦苦挣扎。现在的问题是,当我调用页面回调时,我有 db_insert 查询,它会返回我 internall 500(带有消息:sql state 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 行的 'when, where) VALUES ('me', 'yesterday', 'yomama')' 附近使用: INSERT INTO {pgstats} (who, when , 其中) 值 (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2); stats_recieve_info() 中的数组( [:db_insert_placeholder_0] => me [:db_insert_placeholder_1] =>昨天 [:db_insert_placeholder_2] => yomama )(模块文件第 53 行)

【问题讨论】:

  • 你检查过日志吗? “管理员/报告/dblog”
  • @2pha 找不到这样的日志,进入日志首页
  • 必须启用核心“数据库日志记录”模块才能看到它。
  • 请稍等
  • 为你更新@2pha

标签: php mysql ajax drupal drupal-7


【解决方案1】:

我找到了它不起作用的原因! 我的表有名为“where”和“when”的列,由于某种原因,drupal 没有将它们作为列名传递,而是作为语法传递。 那些日子之一......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-18
    • 2012-10-02
    • 2011-06-11
    相关资源
    最近更新 更多