diff --git a/adminer/db.inc.php b/adminer/db.inc.php index 563b71f5..d969733f 100644 --- a/adminer/db.inc.php +++ b/adminer/db.inc.php @@ -123,7 +123,7 @@ if ($adminer->homepage()) { } echo "" . lang('%d in total', count($tables_list)); - echo "" . h(JUSH == "sql" ? $connection->result("SELECT @@default_storage_engine") : ""); + echo "" . h(JUSH == "sql" ? get_val("SELECT @@default_storage_engine") : ""); echo "" . h(db_collation(DB, collations())); foreach (array("Data_length", "Index_length", "Data_free") as $key) { echo ""; @@ -232,7 +232,7 @@ if ($adminer->homepage()) { echo '' . lang('Alter') . ''; } echo "\n"; - $event_scheduler = $connection->result("SELECT @@event_scheduler"); + $event_scheduler = get_val("SELECT @@event_scheduler"); if ($event_scheduler && $event_scheduler != "ON") { echo "

event_scheduler: " . h($event_scheduler) . "\n"; } diff --git a/adminer/drivers/mssql.inc.php b/adminer/drivers/mssql.inc.php index 6c97323a..34df787c 100644 --- a/adminer/drivers/mssql.inc.php +++ b/adminer/drivers/mssql.inc.php @@ -304,8 +304,7 @@ if (isset($_GET["mssql"])) { } function db_collation($db, $collations) { - global $connection; - return $connection->result("SELECT collation_name FROM sys.databases WHERE name = " . q($db)); + return get_val("SELECT collation_name FROM sys.databases WHERE name = " . q($db)); } function engines() { @@ -313,8 +312,7 @@ if (isset($_GET["mssql"])) { } function logged_user() { - global $connection; - return $connection->result("SELECT SUSER_NAME()"); + return get_val("SELECT SUSER_NAME()"); } function tables_list() { @@ -326,7 +324,7 @@ if (isset($_GET["mssql"])) { $return = array(); foreach ($databases as $db) { $connection->select_db($db); - $return[$db] = $connection->result("SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES"); + $return[$db] = get_val("SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES"); } return $return; } @@ -355,10 +353,9 @@ WHERE schema_id = SCHEMA_ID(" . q(get_schema()) . ") AND type IN ('S', 'U', 'V') } function fields($table) { - global $connection; $comments = get_key_vals("SELECT objname, cast(value as varchar(max)) FROM fn_listextendedproperty('MS_DESCRIPTION', 'schema', " . q(get_schema()) . ", 'table', " . q($table) . ", 'column', NULL)"); $return = array(); - $table_id = $connection->result("SELECT object_id FROM sys.all_objects WHERE schema_id = SCHEMA_ID(" . q(get_schema()) . ") AND type IN ('S', 'U', 'V') AND name = " . q($table)); + $table_id = get_val("SELECT object_id FROM sys.all_objects WHERE schema_id = SCHEMA_ID(" . q(get_schema()) . ") AND type IN ('S', 'U', 'V') AND name = " . q($table)); foreach ( get_rows("SELECT c.max_length, c.precision, c.scale, c.name, c.is_nullable, c.is_identity, c.collation_name, t.name type, CAST(d.definition as text) [default], d.name default_constraint, i.is_primary_key FROM sys.all_columns c @@ -415,8 +412,7 @@ WHERE OBJECT_NAME(i.object_id) = " . q($table), $connection2) as $row } function view($name) { - global $connection; - return array("select" => preg_replace('~^(?:[^[]|\[[^]]*])*\s+AS\s+~isU', '', $connection->result("SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA = SCHEMA_NAME() AND TABLE_NAME = " . q($name)))); + return array("select" => preg_replace('~^(?:[^[]|\[[^]]*])*\s+AS\s+~isU', '', get_val("SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA = SCHEMA_NAME() AND TABLE_NAME = " . q($name)))); } function collations() { @@ -541,8 +537,7 @@ WHERE OBJECT_NAME(i.object_id) = " . q($table), $connection2) as $row } function last_id() { - global $connection; - return $connection->result("SELECT SCOPE_IDENTITY()"); // @@IDENTITY can return trigger INSERT + return get_val("SELECT SCOPE_IDENTITY()"); // @@IDENTITY can return trigger INSERT } function explain($connection, $query) { @@ -635,11 +630,10 @@ WHERE sys1.xtype = 'TR' AND sys2.name = " . q($table)) as $row } function get_schema() { - global $connection; if ($_GET["ns"] != "") { return $_GET["ns"]; } - return $connection->result("SELECT SCHEMA_NAME()"); + return get_val("SELECT SCHEMA_NAME()"); } function set_schema($schema) { diff --git a/adminer/drivers/mysql.inc.php b/adminer/drivers/mysql.inc.php index 64142e1d..4a1e71e9 100644 --- a/adminer/drivers/mysql.inc.php +++ b/adminer/drivers/mysql.inc.php @@ -484,9 +484,8 @@ if (!defined('Adminer\DRIVER')) { * @return string */ function db_collation($db, $collations) { - global $connection; $return = null; - $create = $connection->result("SHOW CREATE DATABASE " . idf_escape($db), 1); + $create = get_val("SHOW CREATE DATABASE " . idf_escape($db), 1); if (preg_match('~ COLLATE ([^ ]+)~', $create, $match)) { $return = $match[1]; } elseif (preg_match('~ CHARACTER SET ([^ ]+)~', $create, $match)) { @@ -513,8 +512,7 @@ if (!defined('Adminer\DRIVER')) { * @return string */ function logged_user() { - global $connection; - return $connection->result("SELECT USER()"); + return get_val("SELECT USER()"); } /** Get tables list @@ -646,10 +644,10 @@ if (!defined('Adminer\DRIVER')) { * @return array [$name => ["db" => , "ns" => , "table" => , "source" => [], "target" => [], "on_delete" => , "on_update" => ]] */ function foreign_keys($table) { - global $connection, $driver; + global $driver; static $pattern = '(?:`(?:[^`]|``)+`|"(?:[^"]|"")+")'; $return = array(); - $create_table = $connection->result("SHOW CREATE TABLE " . table($table), 1); + $create_table = get_val("SHOW CREATE TABLE " . table($table), 1); if ($create_table) { preg_match_all("~CONSTRAINT ($pattern) FOREIGN KEY ?\\(((?:$pattern,? ?)+)\\) REFERENCES ($pattern)(?:\\.($pattern))? \\(((?:$pattern,? ?)+)\\)(?: ON DELETE ($driver->onActions))?(?: ON UPDATE ($driver->onActions))?~", $create_table, $matches, PREG_SET_ORDER); foreach ($matches as $match) { @@ -673,8 +671,7 @@ if (!defined('Adminer\DRIVER')) { * @return array ["select" => ] */ function view($name) { - global $connection; - return array("select" => preg_replace('~^(?:[^`]|`[^`]*`)*\s+AS\s+~isU', '', $connection->result("SHOW CREATE VIEW " . table($name), 1))); + return array("select" => preg_replace('~^(?:[^`]|`[^`]*`)*\s+AS\s+~isU', '', get_val("SHOW CREATE VIEW " . table($name), 1))); } /** Get sorted grouped list of collations @@ -967,12 +964,12 @@ if (!defined('Adminer\DRIVER')) { * @return array ["fields" => ["field" => , "type" => , "length" => , "unsigned" => , "inout" => , "collation" => ], "returns" => , "definition" => , "language" => ] */ function routine($name, $type) { - global $connection, $driver; + global $driver; $aliases = array("bool", "boolean", "integer", "double precision", "real", "dec", "numeric", "fixed", "national char", "national varchar"); $space = "(?:\\s|/\\*[\s\S]*?\\*/|(?:#|-- )[^\n]*\n?|--\r?\n)"; $type_pattern = "((" . implode("|", array_merge(array_keys($driver->types()), $aliases)) . ")\\b(?:\\s*\\(((?:[^'\")]|$driver->enumLength)++)\\))?\\s*(zerofill\\s*)?(unsigned(?:\\s+zerofill)?)?)(?:\\s*(?:CHARSET|CHARACTER\\s+SET)\\s*['\"]?([^'\"\\s,]+)['\"]?)?"; $pattern = "$space*(" . ($type == "FUNCTION" ? "" : $driver->inout) . ")?\\s*(?:`((?:[^`]|``)*)`\\s*|\\b(\\S+)\\s+)$type_pattern"; - $create = $connection->result("SHOW CREATE $type " . idf_escape($name), 2); + $create = get_val("SHOW CREATE $type " . idf_escape($name), 2); preg_match("~\\(((?:$pattern\\s*,?)*)\\)\\s*" . ($type == "FUNCTION" ? "RETURNS\\s+$type_pattern\\s+" : "") . "(.*)~is", $create, $match); $fields = array(); preg_match_all("~$pattern\\s*,?~is", $match[1], $matches, PREG_SET_ORDER); @@ -990,7 +987,7 @@ if (!defined('Adminer\DRIVER')) { } return array( "fields" => $fields, - "comment" => $connection->result("SELECT ROUTINE_COMMENT FROM information_schema.ROUTINES WHERE ROUTINE_SCHEMA = DATABASE() AND ROUTINE_NAME = " . q($name)), + "comment" => get_val("SELECT ROUTINE_COMMENT FROM information_schema.ROUTINES WHERE ROUTINE_SCHEMA = DATABASE() AND ROUTINE_NAME = " . q($name)), ) + ($type != "FUNCTION" ? array("definition" => $match[11]) : array( "returns" => array("type" => $match[12], "length" => $match[13], "unsigned" => $match[15], "collation" => $match[16]), "definition" => $match[17], @@ -1025,8 +1022,7 @@ if (!defined('Adminer\DRIVER')) { * @return string */ function last_id() { - global $connection; - return $connection->result("SELECT LAST_INSERT_ID()"); // mysql_insert_id() truncates bigint + return get_val("SELECT LAST_INSERT_ID()"); // mysql_insert_id() truncates bigint } /** Explain select @@ -1089,8 +1085,7 @@ if (!defined('Adminer\DRIVER')) { * @return string */ function create_sql($table, $auto_increment, $style) { - global $connection; - $return = $connection->result("SHOW CREATE TABLE " . table($table), 1); + $return = get_val("SHOW CREATE TABLE " . table($table), 1); if (!$auto_increment) { $return = preg_replace('~ AUTO_INCREMENT=\d+~', '', $return); //! skip comments } @@ -1208,7 +1203,6 @@ if (!defined('Adminer\DRIVER')) { * @return int */ function max_connections() { - global $connection; - return $connection->result("SELECT @@max_connections"); + return get_val("SELECT @@max_connections"); } } diff --git a/adminer/drivers/oracle.inc.php b/adminer/drivers/oracle.inc.php index 86f52e51..d050d33f 100644 --- a/adminer/drivers/oracle.inc.php +++ b/adminer/drivers/oracle.inc.php @@ -241,8 +241,7 @@ ORDER BY 1" } function db_collation($db, $collations) { - global $connection; - return $connection->result("SELECT value FROM nls_database_parameters WHERE parameter = 'NLS_CHARACTERSET'"); //! respect $db + return get_val("SELECT value FROM nls_database_parameters WHERE parameter = 'NLS_CHARACTERSET'"); //! respect $db } function engines() { @@ -250,8 +249,7 @@ ORDER BY 1" } function logged_user() { - global $connection; - return $connection->result("SELECT USER FROM DUAL"); + return get_val("SELECT USER FROM DUAL"); } function get_current_db() { @@ -284,10 +282,9 @@ ORDER BY 1" } function count_tables($databases) { - global $connection; $return = array(); foreach ($databases as $db) { - $return[$db] = $connection->result("SELECT COUNT(*) FROM all_tables WHERE tablespace_name = " . q($db)); + $return[$db] = get_val("SELECT COUNT(*) FROM all_tables WHERE tablespace_name = " . q($db)); } return $return; } @@ -505,8 +502,7 @@ AND c_src.TABLE_NAME = " . q($table); } function get_schema() { - global $connection; - return $connection->result("SELECT sys_context('USERENV', 'SESSION_USER') FROM dual"); + return get_val("SELECT sys_context('USERENV', 'SESSION_USER') FROM dual"); } function set_schema($scheme, $connection2 = null) { diff --git a/adminer/drivers/pgsql.inc.php b/adminer/drivers/pgsql.inc.php index 919d56d5..57875bdc 100644 --- a/adminer/drivers/pgsql.inc.php +++ b/adminer/drivers/pgsql.inc.php @@ -345,8 +345,7 @@ ORDER BY datname"); } function db_collation($db, $collations) { - global $connection; - return $connection->result("SELECT datcollate FROM pg_database WHERE datname = " . q($db)); + return get_val("SELECT datcollate FROM pg_database WHERE datname = " . q($db)); } function engines() { @@ -354,8 +353,7 @@ ORDER BY datname"); } function logged_user() { - global $connection; - return $connection->result("SELECT user"); + return get_val("SELECT user"); } function tables_list() { @@ -384,10 +382,9 @@ ORDER BY 1"; } function table_status($name = "") { - global $connection; static $has_size; if ($has_size === null) { - $has_size = $connection->result("SELECT 'pg_table_size'::regproc"); + $has_size = get_val("SELECT 'pg_table_size'::regproc"); } $return = array(); foreach ( @@ -515,8 +512,7 @@ ORDER BY conkey, conname") as $row } function view($name) { - global $connection; - return array("select" => trim($connection->result("SELECT pg_get_viewdef(" . $connection->result("SELECT oid FROM pg_class WHERE relnamespace = (SELECT oid FROM pg_namespace WHERE nspname = current_schema()) AND relname = " . q($name)) . ")"))); + return array("select" => trim(get_val("SELECT pg_get_viewdef(" . get_val("SELECT oid FROM pg_class WHERE relnamespace = (SELECT oid FROM pg_namespace WHERE nspname = current_schema()) AND relname = " . q($name)) . ")"))); } function collations() { @@ -764,8 +760,7 @@ ORDER BY SPECIFIC_NAME'); } function found_rows($table_status, $where) { - global $connection; - if (preg_match("~ rows=([0-9]+)~", $connection->result("EXPLAIN SELECT * FROM " . idf_escape($table_status["Name"]) . ($where ? " WHERE " . implode(" AND ", $where) : "")), $regs)) { + if (preg_match("~ rows=([0-9]+)~", get_val("EXPLAIN SELECT * FROM " . idf_escape($table_status["Name"]) . ($where ? " WHERE " . implode(" AND ", $where) : "")), $regs)) { return $regs[1]; } return false; @@ -792,8 +787,7 @@ AND typelem = 0" } function get_schema() { - global $connection; - return $connection->result("SELECT current_schema()"); + return get_val("SELECT current_schema()"); } function set_schema($schema, $connection2 = null) { @@ -947,7 +941,6 @@ AND typelem = 0" } function max_connections() { - global $connection; - return $connection->result("SHOW max_connections"); + return get_val("SHOW max_connections"); } } diff --git a/adminer/drivers/sqlite.inc.php b/adminer/drivers/sqlite.inc.php index ee75d48d..8b727011 100644 --- a/adminer/drivers/sqlite.inc.php +++ b/adminer/drivers/sqlite.inc.php @@ -207,16 +207,14 @@ if (isset($_GET["sqlite"])) { } function limit1($table, $query, $where, $separator = "\n") { - global $connection; - return (preg_match('~^INTO~', $query) || $connection->result("SELECT sqlite_compileoption_used('ENABLE_UPDATE_DELETE_LIMIT')") + return (preg_match('~^INTO~', $query) || get_val("SELECT sqlite_compileoption_used('ENABLE_UPDATE_DELETE_LIMIT')") ? limit($query, $where, 1, 0, $separator) : " $query WHERE rowid = (SELECT rowid FROM " . table($table) . $where . $separator . "LIMIT 1)" //! use primary key in tables with WITHOUT rowid ); } function db_collation($db, $collations) { - global $connection; - return $connection->result("PRAGMA encoding"); // there is no database list so $db == DB + return get_val("PRAGMA encoding"); // there is no database list so $db == DB } function engines() { @@ -236,10 +234,9 @@ if (isset($_GET["sqlite"])) { } function table_status($name = "") { - global $connection; $return = array(); foreach (get_rows("SELECT name AS Name, type AS Engine, 'rowid' AS Oid, '' AS Auto_increment FROM sqlite_master WHERE type IN ('table', 'view') " . ($name != "" ? "AND name = " . q($name) : "ORDER BY name")) as $row) { - $row["Rows"] = $connection->result("SELECT COUNT(*) FROM " . idf_escape($row["Name"])); + $row["Rows"] = get_val("SELECT COUNT(*) FROM " . idf_escape($row["Name"])); $return[$row["Name"]] = $row; } foreach (get_rows("SELECT * FROM sqlite_sequence", null, "") as $row) { @@ -253,12 +250,10 @@ if (isset($_GET["sqlite"])) { } function fk_support($table_status) { - global $connection; - return !$connection->result("SELECT sqlite_compileoption_used('OMIT_FOREIGN_KEY')"); + return !get_val("SELECT sqlite_compileoption_used('OMIT_FOREIGN_KEY')"); } function fields($table) { - global $connection; $return = array(); $primary = ""; foreach (get_rows("PRAGMA table_" . (min_version(3.31) ? "x" : "") . "info(" . table($table) . ")") as $row) { @@ -283,7 +278,7 @@ if (isset($_GET["sqlite"])) { $primary = $name; } } - $sql = $connection->result("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = " . q($table)); + $sql = get_val("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = " . q($table)); $idf = '(("[^"]*+")+|[a-z0-9_]+)'; preg_match_all('~' . $idf . '\s+text\s+COLLATE\s+(\'[^\']+\'|\S+)~i', $sql, $matches, PREG_SET_ORDER); foreach ($matches as $match) { @@ -362,8 +357,7 @@ if (isset($_GET["sqlite"])) { } function view($name) { - global $connection; - return array("select" => preg_replace('~^(?:[^`"[]+|`[^`]*`|"[^"]*")* AS\s+~iU', '', $connection->result("SELECT sql FROM sqlite_master WHERE type = 'view' AND name = " . q($name)))); //! identifiers may be inside [] + return array("select" => preg_replace('~^(?:[^`"[]+|`[^`]*`|"[^"]*")* AS\s+~iU', '', get_val("SELECT sql FROM sqlite_master WHERE type = 'view' AND name = " . q($name)))); //! identifiers may be inside [] } function collations() { @@ -492,7 +486,7 @@ if (isset($_GET["sqlite"])) { * @return bool */ function recreate_table($table, $name, $fields, $originals, $foreign, $auto_increment = 0, $indexes = array(), $drop_check = "", $add_check = "") { - global $connection, $driver; + global $driver; if ($table != "") { if (!$fields) { foreach (fields($table) as $key => $field) { @@ -578,7 +572,7 @@ if (isset($_GET["sqlite"])) { $trigger = trigger($trigger_name); $triggers[] = "CREATE TRIGGER " . idf_escape($trigger_name) . " " . implode(" ", $timing_event) . " ON " . table($name) . "\n$trigger[Statement]"; } - $auto_increment = $auto_increment ? 0 : $connection->result("SELECT seq FROM sqlite_sequence WHERE name = " . q($table)); // if $auto_increment is set then it will be updated later + $auto_increment = $auto_increment ? 0 : get_val("SELECT seq FROM sqlite_sequence WHERE name = " . q($table)); // if $auto_increment is set then it will be updated later if ( !queries("DROP TABLE " . table($table)) // drop before creating indexes and triggers to allow using old names || ($table == $name && !queries("ALTER TABLE " . table($temp_name) . " RENAME TO " . table($name))) @@ -642,7 +636,6 @@ if (isset($_GET["sqlite"])) { } function trigger($name) { - global $connection; if ($name == "") { return array("Statement" => "BEGIN\n\t;\nEND"); } @@ -650,7 +643,7 @@ if (isset($_GET["sqlite"])) { $trigger_options = trigger_options(); preg_match( "~^CREATE\\s+TRIGGER\\s*$idf\\s*(" . implode("|", $trigger_options["Timing"]) . ")\\s+([a-z]+)(?:\\s+OF\\s+($idf))?\\s+ON\\s*$idf\\s*(?:FOR\\s+EACH\\s+ROW\\s)?(.*)~is", - $connection->result("SELECT sql FROM sqlite_master WHERE type = 'trigger' AND name = " . q($name)), + get_val("SELECT sql FROM sqlite_master WHERE type = 'trigger' AND name = " . q($name)), $match ); $of = $match[3]; @@ -686,8 +679,7 @@ if (isset($_GET["sqlite"])) { } function last_id() { - global $connection; - return $connection->result("SELECT LAST_INSERT_ROWID()"); + return get_val("SELECT LAST_INSERT_ROWID()"); } function explain($connection, $query) { @@ -702,8 +694,7 @@ if (isset($_GET["sqlite"])) { } function create_sql($table, $auto_increment, $style) { - global $connection; - $return = $connection->result("SELECT sql FROM sqlite_master WHERE type IN ('table', 'view') AND name = " . q($table)); + $return = get_val("SELECT sql FROM sqlite_master WHERE type IN ('table', 'view') AND name = " . q($table)); foreach (indexes($table) as $name => $index) { if ($name == '') { continue; diff --git a/adminer/dump.inc.php b/adminer/dump.inc.php index 032dab26..28e1f34f 100644 --- a/adminer/dump.inc.php +++ b/adminer/dump.inc.php @@ -42,7 +42,7 @@ SET foreign_key_checks = 0; foreach ((array) $databases as $db) { $adminer->dumpDatabase($db); if ($connection->select_db($db)) { - if ($is_sql && preg_match('~CREATE~', $style) && ($create = $connection->result("SHOW CREATE DATABASE " . idf_escape($db), 1))) { + if ($is_sql && preg_match('~CREATE~', $style) && ($create = get_val("SHOW CREATE DATABASE " . idf_escape($db), 1))) { set_utf8mb4($create); if ($style == "DROP+CREATE") { echo "DROP DATABASE IF EXISTS " . idf_escape($db) . ";\n"; @@ -79,7 +79,7 @@ SET foreign_key_checks = 0; if ($_POST["events"]) { foreach (get_rows("SHOW EVENTS", null, "-- ") as $row) { - $create = remove_definer($connection->result("SHOW CREATE EVENT " . idf_escape($row["Name"]), 3)); + $create = remove_definer(get_val("SHOW CREATE EVENT " . idf_escape($row["Name"]), 3)); set_utf8mb4($create); $out .= ($style != 'DROP+CREATE' ? "DROP EVENT IF EXISTS " . idf_escape($row["Name"]) . ";;\n" : "") . "$create;;\n\n"; } diff --git a/adminer/include/functions.inc.php b/adminer/include/functions.inc.php index ad1c7e82..e1bd69a0 100644 --- a/adminer/include/functions.inc.php +++ b/adminer/include/functions.inc.php @@ -337,6 +337,16 @@ function q($string) { return $connection->quote($string); } +/** Get single value from database +* @param string +* @param int +* @return string or false if error +*/ +function get_val($query, $field = 0) { + global $connection; + return $connection->result($query, $field); +} + /** Get list of values from database * @param string * @param mixed diff --git a/adminer/select.inc.php b/adminer/select.inc.php index 9fe71ec0..23658290 100644 --- a/adminer/select.inc.php +++ b/adminer/select.inc.php @@ -262,7 +262,7 @@ if (!$columns && support("table")) { $page = $_GET["page"]; if ($page == "last") { - $found_rows = $connection->result(count_rows($TABLE, $where, $is_group, $group)); + $found_rows = get_val(count_rows($TABLE, $where, $is_group, $group)); $page = floor(max(0, $found_rows - 1) / $limit); } @@ -309,7 +309,7 @@ if (!$columns && support("table")) { // use count($rows) without LIMIT, COUNT(*) without grouping, FOUND_ROWS otherwise (slowest) if ($_GET["page"] != "last" && $limit != "" && $group && $is_group && JUSH == "sql") { - $found_rows = $connection->result(" SELECT FOUND_ROWS()"); // space to allow mysql.trace_mode + $found_rows = get_val(" SELECT FOUND_ROWS()"); // space to allow mysql.trace_mode } if (!$rows) { diff --git a/adminer/user.inc.php b/adminer/user.inc.php index 1fb31ffb..5243ea3b 100644 --- a/adminer/user.inc.php +++ b/adminer/user.inc.php @@ -56,7 +56,7 @@ if ($_POST && !$error) { $pass = $_POST["pass"]; if ($pass != '' && !$_POST["hashed"] && !min_version(8)) { // compute hash in a separate query so that plain text password is not saved to history - $pass = $connection->result("SELECT PASSWORD(" . q($pass) . ")"); + $pass = get_val("SELECT PASSWORD(" . q($pass) . ")"); $error = !$pass; } @@ -124,7 +124,7 @@ if ($_POST) { $row = $_POST; $grants = $new_grants; } else { - $row = $_GET + array("host" => $connection->result("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', -1)")); // create user on the same domain by default + $row = $_GET + array("host" => get_val("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', -1)")); // create user on the same domain by default $row["pass"] = $old_pass; if ($old_pass != "") { $row["hashed"] = true; diff --git a/editor/include/adminer.inc.php b/editor/include/adminer.inc.php index 752aa747..83353b87 100644 --- a/editor/include/adminer.inc.php +++ b/editor/include/adminer.inc.php @@ -34,7 +34,7 @@ class Adminer { if ($connection) { $databases = $this->databases(false); return (!$databases - ? $connection->result("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', 1)") // username without the database list + ? get_val("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', 1)") // username without the database list : $databases[(information_schema($databases[0]) ? 1 : 0)] // first available database ); } @@ -652,7 +652,6 @@ qsl('div').onclick = whisperClick;", "") } function _foreignKeyOptions($table, $column, $value = null) { - global $connection; if (list($target, $id, $name) = $this->_foreignColumn(column_foreign_keys($table), $column)) { $return = &$this->_values[$target]; if ($return === null) { @@ -660,7 +659,7 @@ qsl('div').onclick = whisperClick;", "") $return = ($table_status["Rows"] > 1000 ? "" : array("" => "") + get_key_vals("SELECT $id, $name FROM " . table($target) . " ORDER BY 2")); } if (!$return && $value !== null) { - return $connection->result("SELECT $name FROM " . table($target) . " WHERE $id = " . q($value)); + return get_val("SELECT $name FROM " . table($target) . " WHERE $id = " . q($value)); } return $return; } diff --git a/plugins/dump-date.php b/plugins/dump-date.php index 56a2bc56..3983109c 100644 --- a/plugins/dump-date.php +++ b/plugins/dump-date.php @@ -9,7 +9,6 @@ class AdminerDumpDate { function dumpFilename($identifier) { - $connection = Adminer\connection(); - return Adminer\friendly_url(($identifier != "" ? $identifier : (Adminer\SERVER != "" ? Adminer\SERVER : "localhost")) . "-" . $connection->result("SELECT NOW()")); + return Adminer\friendly_url(($identifier != "" ? $identifier : (Adminer\SERVER != "" ? Adminer\SERVER : "localhost")) . "-" . Adminer\get_val("SELECT NOW()")); } } diff --git a/plugins/login-table.php b/plugins/login-table.php index 64cd6c10..051b2cff 100644 --- a/plugins/login-table.php +++ b/plugins/login-table.php @@ -27,7 +27,6 @@ class AdminerLoginTable { } function login($login, $password) { - $connection = Adminer\connection(); - return (bool) $connection->result("SELECT COUNT(*) FROM " . Adminer\idf_escape($this->database) . ".login WHERE login = " . Adminer\q($login) . " AND password_sha1 = " . Adminer\q(sha1($password))); + return (bool) Adminer\get_val("SELECT COUNT(*) FROM " . Adminer\idf_escape($this->database) . ".login WHERE login = " . Adminer\q($login) . " AND password_sha1 = " . Adminer\q(sha1($password))); } }