Искал как из php создать БД. Наткнулся на пример http://www.w3schools.com/php/php_mysql_create.asp Example (PDO) PHP: <?php $servername = "localhost"; $username = "username"; $password = "password"; try { $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password); // set the PDO error mode to exception $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "CREATE DATABASE myDBPDO"; // use exec() because no results are returned $conn->exec($sql); echo "Database created successfully<br>"; } catch(PDOException $e) { echo $sql . "<br>" . $e->getMessage(); } $conn = null; ?> Собственно возник вопрос. Зачем в примере указана БД к которой мы подключаемся dbname=myDB для создания другой БД. Я конечно убрал этот кусок, т.к. в моей гипотетической задаче ещё нет ни одной БД. Всё отлично работает, БД создается. Но вопрос остался. В мануале ответа не нашел.
Ну как тебе сказать... А ни зачем. Вспомни старую библиотеку. Вспомни консольный клиент. Ты для подключения должен ввести логин и пароль. Сервер проверит наличие доступа того пользователя с таким паролем, пришедшего с такого-то айпишника. И начинается сеанс. В процессе сеанса ты через USE в консольке или select_db() выбираешь, с какой базой бы хочешь работать как с основной. Но можешь и дальше сидеть в "корне" сервера. Никто тебе не запрещает писать в запросах `myDB`.`users` вместо выбора myDB как основной и дальнейшей короткой записи `users`. Вывод. Этот параметр опционален, и лишь сокращает твой код на вызов метода выбора базы - после установки подключения клиент сразу проломится в выбранную бд.
@bikerlex, а у меня тоже возник вопрос. Почему народ воспринимает инфу на W3Schools, как какую-то непреложную истину? Это сайт никакого отношения к W3C не имеет, а создан обычными энтузиастами откуда-то из Норвегии (если не ошибаюсь). Собрали на одном ресурсе несколько направлений в веб-разработках и всё. Как и любой человек, они могут ошибаться. Поэтому читать можно, но подключать свою логику к анализу прочитанного - очень способствует. Собственно, вы это и сделали.
Так и предполагал что ни зачем. Просто непонятно зачем в контексте создания новой БД сделали подключение к существующей БД. Думал может что упустил. Вопрос на самом деле глупый. Надо поспать. Сутки почти не спал... Каша в голове. --- Добавлено --- @Deonis, ну если впервые с чем-то сталкиваешься, то почему бы и не взять оттуда пример за основу, для понимания. Разобрать, почитать мануал. Скорее всего переписать по своему.