From c3137f81b9b3e1326bc86254d91ed6c3e8506777 Mon Sep 17 00:00:00 2001 From: jakubvrana Date: Wed, 3 Feb 2010 11:07:00 +0000 Subject: [PATCH] Errors summary git-svn-id: https://adminer.svn.sourceforge.net/svnroot/adminer/trunk@1301 7c3ca157-0c34-0410-bff1-cbf682f78f5c --- adminer/sql.inc.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/adminer/sql.inc.php b/adminer/sql.inc.php index f1f794e1..7137fe57 100644 --- a/adminer/sql.inc.php +++ b/adminer/sql.inc.php @@ -39,7 +39,8 @@ if (!$error && $_POST) { if (is_object($connection2)) { $connection2->select_db(DB); } - $explain = 1; + $queries = 0; + $errors = ""; while ($query != "") { if (!$offset && preg_match('~^\\s*DELIMITER\\s+(.+)~i', $query, $match)) { $delimiter = $match[1]; @@ -57,13 +58,15 @@ if (!$error && $_POST) { if (!$found || $found == $delimiter) { // end of a query $empty = false; $q = substr($query, 0, $match[0][1]); - echo "
" . shorten_utf8(trim($q), 1000) . "
\n"; + $queries++; + echo "
" . shorten_utf8(trim($q), 1000) . "
\n"; ob_flush(); flush(); // can take a long time - show the running query $start = explode(" ", microtime()); // microtime(true) is available since PHP 5 //! don't allow changing of character_set_results, convert encoding of displayed query if (!$connection->multi_query($q)) { echo "

" . lang('Error in query') . ": " . error() . "\n"; + $errors .= " $queries"; if ($_POST["error_stops"]) { break; } @@ -75,13 +78,12 @@ if (!$error && $_POST) { if (is_object($result)) { select($result, $connection2); if ($connection2 && preg_match("~^($space|\\()*SELECT\\b~isU", $q)) { - $id = "explain-$explain"; + $id = "explain-$queries"; echo "

" . ($result->num_rows ? lang('%d row(s)', $result->num_rows) . ", " : ""); echo "EXPLAIN\n"; echo "

\n"; - $explain++; } } else { if (preg_match("~^$space*$alter_database", $query)) { @@ -108,6 +110,9 @@ if (!$error && $_POST) { } } } + if ($errors && $queries > 1) { + echo "

" . lang('Error in query') . ": $errors\n"; + } if ($empty) { echo "

" . lang('No commands to execute.') . "\n"; }