diff --git a/upload/install/controller/step_3.php b/upload/install/controller/step_3.php index cec4142abf9..446aa1c0540 100644 --- a/upload/install/controller/step_3.php +++ b/upload/install/controller/step_3.php @@ -271,6 +271,12 @@ private function validate() { } else { $mysql->close(); } + } elseif ($this->request->post['db_driver'] == 'mpdo') { + try { + new \DB\mPDO($this->request->post['db_hostname'], $this->request->post['db_username'], $this->request->post['db_password'], $this->request->post['db_database'], $this->request->post['db_port']); + } catch(Exception $e) { + $this->error['warning'] = $e->getMessage(); + } } if (!$this->request->post['username']) { diff --git a/upload/system/library/db/mpdo.php b/upload/system/library/db/mpdo.php index 61b0aaca79b..a64dca097bc 100644 --- a/upload/system/library/db/mpdo.php +++ b/upload/system/library/db/mpdo.php @@ -8,7 +8,7 @@ public function __construct($hostname, $username, $password, $database, $port = try { $this->pdo = new \PDO("mysql:host=" . $hostname . ";port=" . $port . ";dbname=" . $database, $username, $password, array(\PDO::ATTR_PERSISTENT => true)); } catch(\PDOException $e) { - trigger_error('Error: Could not make a database link ( ' . $e->getMessage() . '). Error Code : ' . $e->getCode() . '
'); + throw new \Exception('Unknown database \'' . $database . '\''); exit(); }