summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Newnham <mark@newnhams.com>2026-01-31 17:45:44 -0700
committerGitHub <noreply@github.com>2026-01-31 17:45:44 -0700
commit25b9f414e83e184369e43f3496c5f19c34dcc207 (patch)
tree25033edd865d518ccc5a57301387bbd314cae840
parent8a4d7be3788db6541b209b916736ef24887fd1f1 (diff)
parent3f21d532874695337cf0fba60e727cdd897fb9f7 (diff)
downloadadodb-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.php28
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;
}
/**