diff options
| author | Mark Newnham <mark@newnhams.com> | 2026-01-19 18:41:09 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-01-19 18:41:09 -0700 |
| commit | ffdce207b10c6be90fb4093338dd7c4338e735bf (patch) | |
| tree | 3b112e1c25d96de4a46654287076102466282c32 | |
| parent | 19d14009f7ac32dcd15b59e92afda748e0c4665d (diff) | |
| parent | 1738d53e71ba5d29296e738063532f627e7b8837 (diff) | |
| download | adodb-ffdce207b10c6be90fb4093338dd7c4338e735bf.tar.gz adodb-ffdce207b10c6be90fb4093338dd7c4338e735bf.tar.bz2 adodb-ffdce207b10c6be90fb4093338dd7c4338e735bf.zip | |
Merge pull request #1157 from ADOdb/1156-mysqli-metaforeignkeys-fails-with-warning-if-an-invalid-table-name-or-table-owner-is-supplied
Resructure method to prevent array errors if table not found
| -rw-r--r-- | drivers/adodb-mysqli.inc.php | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/drivers/adodb-mysqli.inc.php b/drivers/adodb-mysqli.inc.php index 71fb346b..36a3f207 100644 --- a/drivers/adodb-mysqli.inc.php +++ b/drivers/adodb-mysqli.inc.php @@ -947,12 +947,20 @@ class ADODB_mysqli extends ADOConnection { $table = "$owner.$table"; } - $a_create_table = array_change_key_case( - $this->getRow( - sprintf('SHOW CREATE TABLE `%s`', $table)), - CASE_UPPER + $showCreate = $this->getRow( + sprintf('SHOW CREATE TABLE `%s`', $table) ); + if ( !$showCreate || !is_array($showCreate) ) { + /* + * Invalid table or owner provided + */ + $this->setFetchMode($savem); + return false; + } + + $a_create_table = array_change_key_case($showCreate, CASE_UPPER); + $this->setFetchMode($savem); $create_sql = $a_create_table["CREATE TABLE"] ?? $a_create_table["CREATE VIEW"]; |
