我有一个带有“编辑”页面的自定义 Drupal 7 模块。
表单字段引用了几个数据库表,因此为了处理表单,我们尝试更新第一个表,并尝试将 '$error' 设置为 'true' 并在尝试更新下一个表之前检查 $error桌子。例如:
HTML:
<input name="field1" />
<input name="field2" />
PHP:
$error = false;
$update_table_1 = db_update('table1')
->fields(array(
'field1' => $_POST['field1'],
))
->condition('id', $id)
->execute();
if(!update_table_1) {
$error = true;
}
if(!$error) {
$update_table_2 = db_update('table2')
->fields(array(
'field2' => $_POST['field2'],
))
->condition('id', $id)
->execute();
if(!$update_table_2) {
$error = true;
}
}
问题:如果只更新表 2 中的某些内容,它将在事件更新表 2 之前引发错误,因为 db_query 说它不正确,因为该字段与数据库中的字段相同(没有变化)。真的,我只想在出现数据库/代码错误时停止它。
Drupal 7 db_update API 是否具有某种错误报告功能,例如 mysql_error()?其他建议?