PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, ]; $pdo = new PDO($dsnNoDb, DB_USER, $pass, $options); if ($selectDb) { $pdo->exec("CREATE DATABASE IF NOT EXISTS `" . DB_NAME . "` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci"); $pdo->exec("USE `" . DB_NAME . "`"); } return $pdo; } catch (PDOException $e) { $lastException = $e; if ($e->getCode() != 1045) { break; } } } throw $lastException ?: new PDOException("Không thể kết nối tới MySQL."); }