hook_insert困惑了我

时间:2012-02-08 09:29:52

标签: mysql drupal

我正在使用自定义内容类型构建自定义模块。我已经定义了内容类型并创建了我的表单。

“title”被放入{node}表中,并带有相应的nid,但是我需要将其余的数据输入到我的自定义表中。

它只是不起作用:(

我正在使用hook_insert

这是功能

function svm_mail_insert($node) {
db_query("INSERT INTO {svm_mail_esp_acc} (vid, nid, api_name, esp_id, api_key) VALUES (%d, %d, '%s', %d, %s)", $node->vid, $node->nid, $node->account, $node->esp_refferer, $node->api_key);
}

任何想法我做错了什么以及如何在处理表单之后但在将数据输入数据库之前看到$ node数组以确保实际上正在填充$节点?

1 个答案:

答案 0 :(得分:1)

很抱歉听起来像解析器但是......你的SQL语法有错误!

你将一个字符串值放入查询中而不在其周围加上引号...... MySQL将与之相符。对于api_key列,它是缺少引号的最后一个值:

function svm_mail_insert($node) {
  db_query("INSERT INTO {svm_mail_esp_acc} (vid, nid, api_name, esp_id, api_key) VALUES (%d, %d, '%s', %d, '%s')", $node->vid, $node->nid, $node->account, $node->esp_refferer, $node->api_key);
}