From a2da10f4e87eb0089750ab76f6b5f49f03464339 Mon Sep 17 00:00:00 2001 From: Nick Mueller Date: Tue, 7 Mar 2017 15:30:04 +0100 Subject: [PATCH] Properly quoted database name during USE queries to avoid MySQL parse errors (fixes #452) --- app/main/controller/setup.php | 2 +- app/main/db/sql/mysql/tablemodifier.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/main/controller/setup.php b/app/main/controller/setup.php index d16448b5..67eef140 100644 --- a/app/main/controller/setup.php +++ b/app/main/controller/setup.php @@ -925,7 +925,7 @@ class Setup extends Controller { $checkTables = []; if($db){ // set/change default "character set" and "collation" - $db->exec('ALTER DATABASE ' . $db->name() + $db->exec('ALTER DATABASE ' . $db->quotekey($db->name()) . ' CHARACTER SET ' . self::getRequiredMySqlVariables('CHARACTER_SET_DATABASE') . ' COLLATE ' . self::getRequiredMySqlVariables('COLLATION_DATABASE') ); diff --git a/app/main/db/sql/mysql/tablemodifier.php b/app/main/db/sql/mysql/tablemodifier.php index c620e521..0afa57f0 100644 --- a/app/main/db/sql/mysql/tablemodifier.php +++ b/app/main/db/sql/mysql/tablemodifier.php @@ -52,7 +52,7 @@ class TableModifier extends SQL\TableModifier { ':constraint_name' => $constraintName ]); // switch back to current DB - $this->db->exec("USE " . $this->db->name()); + $this->db->exec("USE " . $this->db->quotekey($this->db->name())); $constraints = []; foreach($constraintsData as $data){