diff --git a/adminer/include/functions.inc.php b/adminer/include/functions.inc.php index 5b42df9f7..c5f3af973 100644 --- a/adminer/include/functions.inc.php +++ b/adminer/include/functions.inc.php @@ -522,9 +522,9 @@ function query_redirect($query, $location, $message, $redirect = true, $execute global $connection, $error, $adminer; $time = ""; if ($execute) { - $start = microtime(); + $start = microtime(true); $failed = !$connection->query($query); - $time = "; -- " . format_time($start, microtime()); + $time = "; -- " . format_time($start, microtime(true)); } $sql = ""; if ($query) { @@ -551,10 +551,10 @@ function queries($query = null) { // return executed queries without parameter return implode("\n", $queries); } - $start = microtime(); + $start = microtime(true); $return = $connection->query($query); $queries[] = (preg_match('~;$~', $query) ? "DELIMITER ;;\n$query;\nDELIMITER " : $query) - . "; -- " . format_time($start, microtime()); + . "; -- " . format_time($start, microtime(true)); return $return; } @@ -584,12 +584,12 @@ function queries_redirect($location, $message, $redirect) { } /** Format time difference -* @param string output of microtime() -* @param string output of microtime() +* @param string output of microtime(true) +* @param string output of microtime(true) * @return string HTML code */ function format_time($start, $end) { - return lang('%.3f s', max(0, array_sum(explode(" ", $end)) - array_sum(explode(" ", $start)))); + return lang('%.3f s', max(0, $end - $start)); } /** Remove parameter from query string diff --git a/adminer/sql.inc.php b/adminer/sql.inc.php index e58131549..72afbea75 100644 --- a/adminer/sql.inc.php +++ b/adminer/sql.inc.php @@ -57,7 +57,7 @@ $errors = array(); $line = 0; $parse = '[\'"' . ($jush == "sql" ? '`#' : ($jush == "sqlite" ? '`[' : ($jush == "mssql" ? '[' : ''))) . ']|/\\*|-- |$' . ($jush == "pgsql" ? '|\\$[^$]*\\$' : ''); - $total_start = microtime(); + $total_start = microtime(true); parse_str($_COOKIE["adminer_export"], $adminer_export); $dump_format = $adminer->dumpFormat(); unset($dump_format["sql"]); @@ -100,7 +100,7 @@ ob_flush(); flush(); // can take a long time - show the running query } - $start = microtime(); // microtime(true) is available since PHP 5 + $start = microtime(true); //! don't allow changing of character_set_results, convert encoding of displayed query if ($connection->multi_query($q) && is_object($connection2) && preg_match("~^$space*USE\\b~isU", $q)) { $connection2->query($q); @@ -108,7 +108,7 @@ do { $result = $connection->store_result(); - $end = microtime(); + $end = microtime(true); $time = " (" . format_time($start, $end) . ")" . (strlen($q) < 1000 ? " " . lang('Edit') . "" : "") // 1000 - maximum length of encoded URL in IE is 2083 characters ; @@ -172,7 +172,7 @@ echo "

" . lang('No commands to execute.') . "\n"; } elseif ($_POST["only_errors"]) { echo "

" . lang('%d query(s) executed OK.', $commands - count($errors)); - echo " (" . format_time($total_start, microtime()) . ")\n"; + echo " (" . format_time($total_start, microtime(true)) . ")\n"; } elseif ($errors && $commands > 1) { echo "

" . lang('Error in query') . ": " . implode("", $errors) . "\n"; }