需要调试db_insert但没有给出错误

时间:2012-01-19 14:19:28

标签: php database drupal-7 drupal-modules

我在D7安装中有一个自定义模块。

在提交功能中,我正在执行以下操作:

my_custom_block_get_form_submit($form, &$form_state) {

$d = db_insert('db_launch')
->fields(array(
'uniq' => $uniq
))
->execute();

执行代码后,错误日志中没有错误,网站返回标准“此网站遇到错误”。

有谁知道如何调试这个?我尝试了一个try catch块但是没有返回任何东西。

谢谢,

2 个答案:

答案 0 :(得分:1)

要调试此代码,您应该尝试这样做:

$query = db_insert('db_launch')
->fields(array(
'uniq' => $uniq
));

echo (string) $query ; // This will output your query that would be created with an insert.

$d = $query->execute(); // and later on you can attach the output result.

请注意,这将返回带占位符的查询。如果您希望获得具有实际值的查询,则应启用devel.module,然后:

echo dpq($query) ; // This will output your query without placeholders

答案 1 :(得分:0)

要调试此代码,您应该尝试这个。

$query = db_insert('db_launch')
 ->fields(array(
    'uniq' => $uniq
));
$res = $query->execute();
echo $res;

此代码打印 db_launch 表的自动增量ID。