From 3a42dcd943ee6dff5551b4da96c4102bdca63083 Mon Sep 17 00:00:00 2001 From: Andrey Andreev Date: Tue, 16 Jul 2019 14:48:34 +0300 Subject: Fix #5796 --- system/database/drivers/mysql/mysql_driver.php | 2 +- system/database/drivers/mysqli/mysqli_driver.php | 2 +- system/database/drivers/pdo/subdrivers/pdo_mysql_driver.php | 2 +- user_guide_src/source/changelog.rst | 1 + 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/system/database/drivers/mysql/mysql_driver.php b/system/database/drivers/mysql/mysql_driver.php index 78e77bc18..440715ae1 100644 --- a/system/database/drivers/mysql/mysql_driver.php +++ b/system/database/drivers/mysql/mysql_driver.php @@ -383,7 +383,7 @@ class CI_DB_mysql_driver extends CI_DB { */ protected function _list_tables($prefix_limit = FALSE) { - $sql = 'SHOW TABLES FROM '.$this->escape_identifiers($this->database); + $sql = 'SHOW TABLES FROM '.$this->_escape_char.$this->database.$this->_escape_char; if ($prefix_limit !== FALSE && $this->dbprefix !== '') { diff --git a/system/database/drivers/mysqli/mysqli_driver.php b/system/database/drivers/mysqli/mysqli_driver.php index d374e0174..0ca0f48fc 100644 --- a/system/database/drivers/mysqli/mysqli_driver.php +++ b/system/database/drivers/mysqli/mysqli_driver.php @@ -429,7 +429,7 @@ class CI_DB_mysqli_driver extends CI_DB { */ protected function _list_tables($prefix_limit = FALSE) { - $sql = 'SHOW TABLES FROM '.$this->escape_identifiers($this->database); + $sql = 'SHOW TABLES FROM '.$this->_escape_char.$this->database.$this->_escape_char; if ($prefix_limit !== FALSE && $this->dbprefix !== '') { diff --git a/system/database/drivers/pdo/subdrivers/pdo_mysql_driver.php b/system/database/drivers/pdo/subdrivers/pdo_mysql_driver.php index 26bc30e14..73b88bcfd 100644 --- a/system/database/drivers/pdo/subdrivers/pdo_mysql_driver.php +++ b/system/database/drivers/pdo/subdrivers/pdo_mysql_driver.php @@ -279,7 +279,7 @@ class CI_DB_pdo_mysql_driver extends CI_DB_pdo_driver { */ protected function _list_tables($prefix_limit = FALSE) { - $sql = 'SHOW TABLES'; + $sql = 'SHOW TABLES FROM '.$this->_escape_char.$this->database.$this->_escape_char; if ($prefix_limit === TRUE && $this->dbprefix !== '') { diff --git a/user_guide_src/source/changelog.rst b/user_guide_src/source/changelog.rst index 94ce2d2d7..6d867048f 100644 --- a/user_guide_src/source/changelog.rst +++ b/user_guide_src/source/changelog.rst @@ -27,6 +27,7 @@ Bug fixes for 3.1.11 - Fixed a bug (#5779) - :doc:`Session Library ` 'redis' only attempted to validate session IDs in case the connection to Redis failed. - Fixed a bug (#5774) - :doc:`Database Results ` method ``custom_result_object()`` didn't properly handle empty result sets, triggering ``E_WARNING`` messages on PHP 7.2+. - Fixed a bug (#5788) - :doc:`Database Results ` method ``field_data()`` triggered an ``E_NOTICE`` error with PDO when a field type is not recognized by PHP. +- Fixed a bug (#5796) - :doc:`Query Builder ` method ``list_tables()`` triggered an SQL syntax error under MySQL when the database schema is a numeric string. Version 3.1.10 ============== -- cgit v1.2.3-24-g4f1b