diff --git a/adminer/call.inc.php b/adminer/call.inc.php index 0f7fe0fe..039868d8 100644 --- a/adminer/call.inc.php +++ b/adminer/call.inc.php @@ -28,8 +28,7 @@ if (!$error && $_POST) { } $call[] = (isset($out[$key]) ? "@" . idf_escape($field["field"]) : $val); } - $result = $connection->multi_query((isset($_GET["callf"]) ? "SELECT" : "CALL") . " " . idf_escape($PROCEDURE) . "(" . implode(", ", $call) . ")"); - if (!$result) { + if (!$connection->multi_query((isset($_GET["callf"]) ? "SELECT" : "CALL") . " " . idf_escape($PROCEDURE) . "(" . implode(", ", $call) . ")")) { echo "

" . error() . "\n"; } else { do { diff --git a/adminer/edit.inc.php b/adminer/edit.inc.php index 005ab64e..edae47b5 100644 --- a/adminer/edit.inc.php +++ b/adminer/edit.inc.php @@ -9,8 +9,10 @@ foreach ($fields as $name => $field) { } } if ($_POST && !$error && !isset($_GET["select"])) { - $location = $_SERVER["REQUEST_URI"]; // continue edit or insert - if (!$_POST["insert"]) { + $location = $_POST["referer"]; + if ($_POST["insert"]) { // continue edit or insert + $location = $_SERVER["REQUEST_URI"]; //! doesn't work with change in &where field + } elseif (!ereg('^.+&select=.+$', $location)) { $location = ME . "select=" . urlencode($TABLE); $i = 0; // append &set converted to &where foreach ((array) $_GET["set"] as $key => $val) { @@ -96,6 +98,7 @@ if ($fields) { ?>

+">