diff options
| author | Mark Newnham <mark@newnhams.com> | 2026-01-31 17:45:44 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-01-31 17:45:44 -0700 |
| commit | 25b9f414e83e184369e43f3496c5f19c34dcc207 (patch) | |
| tree | 25033edd865d518ccc5a57301387bbd314cae840 | |
| parent | 8a4d7be3788db6541b209b916736ef24887fd1f1 (diff) | |
| parent | 3f21d532874695337cf0fba60e727cdd897fb9f7 (diff) | |
| download | adodb-25b9f414e83e184369e43f3496c5f19c34dcc207.tar.gz adodb-25b9f414e83e184369e43f3496c5f19c34dcc207.tar.bz2 adodb-25b9f414e83e184369e43f3496c5f19c34dcc207.zip | |
Merge pull request #1163 from ADOdb:1162-mysqli-metadatabases-returns-empty-result-set-if-fetch-mode-is-adodb_fetch_num
Change structure of metadatabase record iteration to not match associative keys
| -rw-r--r-- | drivers/adodb-mysqli.inc.php | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/drivers/adodb-mysqli.inc.php b/drivers/adodb-mysqli.inc.php index 36a3f207..6cb621f2 100644 --- a/drivers/adodb-mysqli.inc.php +++ b/drivers/adodb-mysqli.inc.php @@ -634,17 +634,27 @@ class ADODB_mysqli extends ADOConnection { function MetaDatabases() { $query = "SHOW DATABASES"; - $ret = $this->execute($query); - if ($ret && is_object($ret)){ - $arr = array(); - while (!$ret->EOF){ - $db = $ret->fields('Database'); - if ($db != 'mysql') $arr[] = $db; - $ret->moveNext(); + $result = $this->getAll($query); + + if (!$result) { + return false; + } + + $systemDatabases = array( + 'mysql', + 'information_schema', + 'performance_schema' + ); + + $databaseList = []; + foreach ($result as $dbArray) { + $databaseName = array_pop($dbArray); + if (!in_array($databaseName, $systemDatabases)) { + $databaseList[] = $databaseName; } - return $arr; } - return $ret; + + return $databaseList; } /** |
