From 1defc94d1207938daaf5469f4e4911704135b482 Mon Sep 17 00:00:00 2001 From: Jakub Vrana Date: Tue, 11 Mar 2025 12:53:35 +0100 Subject: [PATCH] Fix $result visibility --- adminer/drivers/mysql.inc.php | 13 +++++++++---- adminer/drivers/oracle.inc.php | 9 +++++---- adminer/drivers/pgsql.inc.php | 9 +++++---- 3 files changed, 19 insertions(+), 12 deletions(-) diff --git a/adminer/drivers/mysql.inc.php b/adminer/drivers/mysql.inc.php index 8e7e9a9f..cde85fe3 100644 --- a/adminer/drivers/mysql.inc.php +++ b/adminer/drivers/mysql.inc.php @@ -177,10 +177,7 @@ if (!defined('Adminer\DRIVER')) { */ function result($query, $field = 0) { $result = $this->query($query); - if (!$result || !$result->num_rows) { - return false; - } - return mysql_result($result->result, 0, $field); + return ($result ? $result->fetch_column($field) : false); } } @@ -210,6 +207,14 @@ if (!defined('Adminer\DRIVER')) { return mysql_fetch_row($this->result); } + /** Fetch a single column + * @param int + * @return string or false if there are no rows + */ + function fetch_column($field) { + return ($this->num_rows ? mysql_result($this->result, 0, $field) : false); + } + /** Fetch next field * @return object properties: name, type, orgtable, orgname, charsetnr */ diff --git a/adminer/drivers/oracle.inc.php b/adminer/drivers/oracle.inc.php index 7b831025..6b9726f9 100644 --- a/adminer/drivers/oracle.inc.php +++ b/adminer/drivers/oracle.inc.php @@ -75,10 +75,7 @@ if (isset($_GET["oracle"])) { function result($query, $field = 0) { $result = $this->query($query); - if (!is_object($result) || !oci_fetch($result->result)) { - return false; - } - return oci_result($result->result, $field + 1); + return (is_object($result) ? $result->fetch_column($field) : false); } } @@ -107,6 +104,10 @@ if (isset($_GET["oracle"])) { return $this->convert(oci_fetch_row($this->result)); } + function fetch_column($field) { + return (oci_fetch($this->result) ? oci_result($this->result, $field + 1) : false); + } + function fetch_field() { $column = $this->offset++; $return = new \stdClass; diff --git a/adminer/drivers/pgsql.inc.php b/adminer/drivers/pgsql.inc.php index e1187937..b601d79f 100644 --- a/adminer/drivers/pgsql.inc.php +++ b/adminer/drivers/pgsql.inc.php @@ -104,10 +104,7 @@ if (isset($_GET["pgsql"])) { function result($query, $field = 0) { $result = $this->query($query); - if (!$result || !$result->num_rows) { - return false; - } - return pg_fetch_result($result->result, 0, $field); + return ($result ? $result->fetch_column($field) : false); } function warnings() { @@ -132,6 +129,10 @@ if (isset($_GET["pgsql"])) { return pg_fetch_row($this->result); } + function fetch_column($field) { + return ($this->num_rows ? pg_fetch_result($this->result, 0, $field) : false); + } + function fetch_field() { $column = $this->offset++; $return = new \stdClass;