The code follows:

function dba_delete_row_submit($form_id, $form_values) {
  if (user_access('dba administer database')) {
    $key = $form_values['key'];
    $keyid = $form_values['keyid'];
    $table = $form_values['table'];
    $query = "DELETE FROM $table WHERE $key = '$keyid'";
    drupal_set_message(check_plain($query));
    $query = "DELETE FROM {%s} WHERE %s = '%s'";
    db_query($query, $table, $key, $keyid);
  }
  return "admin/build/database/table/$table/view";
}
</code>

And it should be:

function dba_delete_row_submit($form_id, $form_values) {
  if (user_access('dba administer database')) {
    $key = $form_values['key'];
    $keyid = $form_values['keyid'];
    $table = $form_values['table'];
    $query = "DELETE FROM $table WHERE $key = '$keyid'";
    drupal_set_message(check_plain($query));
    $query = "DELETE FROM %s WHERE %s = '%s'";
    db_query($query, $table, $key, $keyid);
  }
  return "admin/build/database/table/$table/view";
}

Curly brackets makes Drupal add additional prefix when it is allready in $table variable.

Sorry for not providing the real path but I'm away my developer computer with a proper tools.

Comments

dww’s picture

Status: Needs review » Fixed

Tested and confirmed. Committed the change to HEAD and DRUPAL-4-7. Thanks.

Anonymous’s picture

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for two weeks with no activity.