Соединение Pdo без имени базы данных?

Я пытаюсь создать CMS, и я хочу, чтобы моя клиентская жизнь была проще, поэтому я сам создаю базу данных. У меня возникла проблема при попытке сделать это. База данных не создана, поэтому я не могу подключиться к PDO-соединению, и mysql устарел, поэтому я не могу его использовать. У вас есть какие-либо советы для меня о том, как я могу создать PDO-соединение до создания базы данных? как альтернатива mysql_select_db() ?

Solutions Collecting From Web of "Соединение Pdo без имени базы данных?"

Вы можете запустить PDO-соединение, исправьте меня, если я ошибаюсь:

 $db = new PDO( "mysql:host=localhost", 'user', 'pass' ); 

Отличие от этого с обычным соединением – это удаленная часть dbname=[xx] , как вы видите.

Также бесплатный совет, когда вы хотите использовать соединение UTF8:

 $db = new PDO( "mysql:host=localhost;charset=UTF-8", 'user', 'pass' ); 

Чтобы Yehonatan комментарий к Yehonatan вы можете выбрать базу данных:

 $db->exec('USE databaseName'); 

Просто отпустите dbname= part:

 try { $pdo = new PDO("mysql:host=localhost;", "user", "pass"); $stmt = $pdo->query("SHOW DATABASES"); var_dump($stmt->fetchAll(PDO::FETCH_ASSOC)); } catch (PDOException $e) { echo $e->getMessage(); } 

Дает мне

 array(11) { [0]=> array(1) { ["Database"]=> string(18) "information_schema" } [1]=> array(1) { ["Database"]=> string(5) "cdcol" } [2]=> array(1) { ["Database"]=> string(5) "chica" } [3]=> array(1) { ["Database"]=> string(9) "downloads" } [4]=> array(1) { ["Database"]=> string(5) "mysql" } [5]=> array(1) { ["Database"]=> string(18) "performance_schema" } [6]=> array(1) { ["Database"]=> string(10) "phpmyadmin" } [7]=> array(1) { ["Database"]=> string(8) "rishumon" } [8]=> array(1) { ["Database"]=> string(4) "test" } [9]=> array(1) { ["Database"]=> string(5) "users" } [10]=> array(1) { ["Database"]=> string(7) "webauth" } } 

как и ожидалось.

Единственное, что я нашел для работы, это использовать $pdo->query('USE databasename') чтобы установить базу данных по умолчанию, прежде чем запускать какой-либо запрос.