diff --git a/adminer/drivers/mysql.inc.php b/adminer/drivers/mysql.inc.php index 8eba872c..890a6aaa 100644 --- a/adminer/drivers/mysql.inc.php +++ b/adminer/drivers/mysql.inc.php @@ -278,7 +278,12 @@ if (!defined("DRIVER")) { } function warnings() { - return $this->_conn->query("SHOW WARNINGS"); + $result = $this->_conn->query("SHOW WARNINGS"); + if ($result && $result->num_rows) { + ob_start(); + select($result); // select() usually needs to print a big table progressively + return ob_get_clean(); + } } } diff --git a/adminer/include/adminer.inc.php b/adminer/include/adminer.inc.php index 0d66ac48..c28881e9 100644 --- a/adminer/include/adminer.inc.php +++ b/adminer/include/adminer.inc.php @@ -212,12 +212,10 @@ class Adminer { ; $print = "
\n"; // required for IE9 inline edit $warnings = $driver->warnings(); - if ($warnings && $warnings->num_rows) { + if ($warnings) { $id = "warnings"; - ob_start(); - select($warnings); // select() usually needs to print a big table progressively $return .= ", " . lang('Warnings') . "" . script("qsl('a').onclick = partial(toggle, '$id');", "") - . "$print" . shorten_utf8($query, 1000) . '
'
. ($time ? " ($time)" : '')
diff --git a/adminer/include/driver.inc.php b/adminer/include/driver.inc.php
index a6d1afcd..2c66a363 100644
--- a/adminer/include/driver.inc.php
+++ b/adminer/include/driver.inc.php
@@ -114,10 +114,10 @@
}
/** Get warnings about the last command
- * @return Min_Result or false
+ * @return string HTML
*/
function warnings() {
- return false;
+ return '';
}
}
diff --git a/adminer/sql.inc.php b/adminer/sql.inc.php
index c5a27146..175a80bd 100644
--- a/adminer/sql.inc.php
+++ b/adminer/sql.inc.php
@@ -130,9 +130,9 @@ if (!$error && $_POST) {
$time = " (" . format_time($start) . ")"
. (strlen($q) < 1000 ? " " . lang('Edit') . "" : "") // 1000 - maximum length of encoded URL in IE is 2083 characters
;
- $warnings = $driver->warnings();
- $warnings_id = "warnings-$commands";
- if ($warnings && $warnings->num_rows) {
+ $warnings = ($_POST["only_errors"] ? "" : $driver->warnings());
+ if ($warnings) {
+ $warnings_id = "warnings-$commands";
$time .= ", " . lang('Warnings') . "" . script("qsl('a').onclick = partial(toggle, '$warnings_id');", "");
}
$explain = null;
@@ -168,11 +168,7 @@ if (!$error && $_POST) {
echo "