diff --git a/libraries/mult_submits.inc.php b/libraries/mult_submits.inc.php index 8cc87074d..6a1b11b2b 100644 --- a/libraries/mult_submits.inc.php +++ b/libraries/mult_submits.inc.php @@ -16,9 +16,11 @@ if (! empty($submit_mult) || ! empty($rows_to_delete))) { define('PMA_SUBMIT_MULT', 1); if (isset($selected_db) && !empty($selected_db)) { + // coming from server database view - do something with selected databases $selected = $selected_db; $what = 'drop_db'; } elseif (isset($selected_tbl) && !empty($selected_tbl)) { + // coming from database structure view - do something with selected tables if ($submit_mult == $strPrintView) { require './tbl_printview.php'; } else { @@ -56,6 +58,7 @@ if (! empty($submit_mult) } // end switch } } elseif (isset($selected_fld) && !empty($selected_fld)) { + // coming from table structure view - do something with selected columns/fileds $selected = $selected_fld; switch ($submit_mult) { case $strDrop: @@ -105,6 +108,7 @@ if (! empty($submit_mult) // this should already be handled by tbl_structure.php } } else { + // coming from borwsing - do something with selected rows $what = 'row_delete'; $selected = $rows_to_delete; } @@ -188,16 +192,12 @@ if (!empty($submit_mult) && !empty($what)) { case 'drop_fld': if ($full_query == '') { $full_query .= 'ALTER TABLE ' - . PMA_backquote(htmlspecialchars($table)) - . '
  DROP ' - . PMA_backquote(htmlspecialchars(urldecode($sval))) - . ','; - } else { - $full_query .= '
  DROP ' - . PMA_backquote(htmlspecialchars(urldecode($sval))) - . ','; + . PMA_backquote(htmlspecialchars($table)); } - if ($i == $selected_cnt-1) { + $full_query .= '
  DROP ' + . PMA_backquote(htmlspecialchars(urldecode($sval))) + . ','; + if ($i == $selected_cnt - 1) { $full_query = preg_replace('@,$@', ';
', $full_query); } break; @@ -217,7 +217,7 @@ if (!empty($submit_mult) && !empty($what)) { // Displays the confirmation form $_url_params = array( 'query_type' => $what, - 'reload' => (isset($reload) ? PMA_sanitize($reload) : 0), + 'reload' => (! empty($reload) ? 1 : 0), ); if (strpos(' ' . $action, 'db_') == 1) { $_url_params['db']= $db; @@ -386,7 +386,7 @@ elseif ($mult_btn == $strYes) { if ($query_type != 'drop_db') { PMA_DBI_select_db($db); } - $result = @PMA_DBI_query($a_query) or PMA_mysqlDie('', $a_query, FALSE, $err_url); + $result = PMA_DBI_query($a_query); } // end if } // end for @@ -403,12 +403,16 @@ elseif ($mult_btn == $strYes) { require './sql.php'; } elseif (!$run_parts) { PMA_DBI_select_db($db); - $result = PMA_DBI_query($sql_query); - if (!empty($sql_query_views)) { + $result = PMA_DBI_try_query($sql_query); + if ($result && !empty($sql_query_views)) { $sql_query .= ' ' . $sql_query_views . ';'; - PMA_DBI_query($sql_query_views); + $result = PMA_DBI_try_query($sql_query_views); unset($sql_query_views); } + + if (! $result) { + $message = PMA_Message::error(PMA_DBI_getError()); + } } if ($rebuild_database_list) { // avoid a problem with the database list navigator