【发布时间】:2012-01-19 14:19:27
【问题描述】:
我在 D7 安装中有一个自定义模块。
在提交功能中,我正在执行以下操作:
my_custom_block_get_form_submit($form, &$form_state) {
$d = db_insert('db_launch')
->fields(array(
'uniq' => $uniq
))
->execute();
执行代码后,我在错误日志中没有任何错误,并且网站返回标准的“此网站遇到错误”。
有人知道我该如何调试吗?我尝试了一个 try catch 块,但没有返回任何内容。
谢谢,
【问题讨论】:
-
您的
uniq字段是哪种类型?也许您试图将字符串设置为应为 int 的字段。 -
$q = db_insert('my_db')->fields(array('uniq','date')); $q->values(array('uniq'=> $uniq, 'date' => $query['date'] )); $q->执行();
-
该语法效果更好。不知道为什么 drupal 会阻止开发人员看到 sql 错误。必须自己通过将值插入数据库来调试它。
-
@rix:这是奇怪的行为,我总是使用你原来问题中的语法,如果我犯了错误,我总是会看到错误。您是否安装了任何可能是开发版本的模块(这些可能会干扰)?
标签: php database drupal-7 drupal-modules