diff --git a/adminer/drivers/mssql.inc.php b/adminer/drivers/mssql.inc.php index 88528e9a..6b573f04 100644 --- a/adminer/drivers/mssql.inc.php +++ b/adminer/drivers/mssql.inc.php @@ -547,7 +547,7 @@ WHERE OBJECT_NAME(i.object_id) = " . q($table), $connection2) as $row ; } - function last_id() { + function last_id($result) { return get_val("SELECT SCOPE_IDENTITY()"); // @@IDENTITY can return trigger INSERT } diff --git a/adminer/drivers/mysql.inc.php b/adminer/drivers/mysql.inc.php index 8466716b..924b6f98 100644 --- a/adminer/drivers/mysql.inc.php +++ b/adminer/drivers/mysql.inc.php @@ -1056,9 +1056,10 @@ if (!defined('Adminer\DRIVER')) { } /** Get last auto increment ID + * @param Result or true * @return string */ - function last_id() { + function last_id($result) { return get_val("SELECT LAST_INSERT_ID()"); // mysql_insert_id() truncates bigint } diff --git a/adminer/drivers/oracle.inc.php b/adminer/drivers/oracle.inc.php index d5e449c9..e0bbcc0f 100644 --- a/adminer/drivers/oracle.inc.php +++ b/adminer/drivers/oracle.inc.php @@ -495,7 +495,7 @@ AND c_src.TABLE_NAME = " . q($table); return apply_queries("DROP TABLE", $tables); } - function last_id() { + function last_id($result) { return 0; //! } diff --git a/adminer/drivers/pgsql.inc.php b/adminer/drivers/pgsql.inc.php index 8646a0d5..e8684cc8 100644 --- a/adminer/drivers/pgsql.inc.php +++ b/adminer/drivers/pgsql.inc.php @@ -780,7 +780,7 @@ ORDER BY SPECIFIC_NAME'); return idf_escape($name) . "(" . implode(", ", $return) . ")"; } - function last_id() { + function last_id($result) { return 0; // there can be several sequences } diff --git a/adminer/drivers/sqlite.inc.php b/adminer/drivers/sqlite.inc.php index 804a85c4..4b5639a9 100644 --- a/adminer/drivers/sqlite.inc.php +++ b/adminer/drivers/sqlite.inc.php @@ -680,7 +680,7 @@ if (isset($_GET["sqlite"])) { return queries("BEGIN"); } - function last_id() { + function last_id($result) { return get_val("SELECT LAST_INSERT_ROWID()"); } diff --git a/adminer/edit.inc.php b/adminer/edit.inc.php index 07381151..c3fdb33e 100644 --- a/adminer/edit.inc.php +++ b/adminer/edit.inc.php @@ -55,7 +55,7 @@ if ($_POST && !$error && !isset($_GET["select"])) { } } else { $result = $driver->insert($TABLE, $set); - $last_id = ($result ? last_id() : 0); + $last_id = ($result ? last_id($result) : 0); queries_redirect($location, lang('Item%s has been inserted.', ($last_id ? " $last_id" : "")), $result); //! link } } diff --git a/adminer/select.inc.php b/adminer/select.inc.php index eebf3e5b..7dcf7a87 100644 --- a/adminer/select.inc.php +++ b/adminer/select.inc.php @@ -150,7 +150,7 @@ if ($_POST && !$error) { } $message = lang('%d item(s) have been affected.', $affected); if ($_POST["clone"] && $result && $affected == 1) { - $last_id = last_id(); + $last_id = last_id($result); if ($last_id) { $message = lang('Item%s has been inserted.', " $last_id"); } diff --git a/plugins/drivers/clickhouse.php b/plugins/drivers/clickhouse.php index c0476e28..c37335a2 100644 --- a/plugins/drivers/clickhouse.php +++ b/plugins/drivers/clickhouse.php @@ -383,7 +383,7 @@ if (isset($_GET["clickhouse"])) { return ''; } - function last_id() { + function last_id($result) { return 0; // ClickHouse doesn't have it } diff --git a/plugins/drivers/elastic.php b/plugins/drivers/elastic.php index 01922eff..92753eb0 100644 --- a/plugins/drivers/elastic.php +++ b/plugins/drivers/elastic.php @@ -570,7 +570,7 @@ if (isset($_GET["elastic"])) { return $return; } - function last_id() { + function last_id($result) { return connection()->last_id; } } diff --git a/plugins/drivers/mongo.php b/plugins/drivers/mongo.php index f4a497bb..6af8fb07 100644 --- a/plugins/drivers/mongo.php +++ b/plugins/drivers/mongo.php @@ -403,7 +403,7 @@ if (isset($_GET["mongo"])) { return true; } - function last_id() { + function last_id($result) { return connection()->last_id; } diff --git a/plugins/drivers/simpledb.php b/plugins/drivers/simpledb.php index 488a10d2..f2493fff 100644 --- a/plugins/drivers/simpledb.php +++ b/plugins/drivers/simpledb.php @@ -395,7 +395,7 @@ if (isset($_GET["simpledb"])) { return ($where ? null : $table_status["Rows"]); } - function last_id() { + function last_id($result) { } function sdb_request($action, $params = array()) {