Как создать базу данных, если она не существует, используя PHP?

Как создать базу данных, если она не существует, используя PHP?

Предполагая, что вы говорите о базе данных MySQL – вы хотите использовать mysql_query и mysql_select_db .

Обратите внимание, что mysql_create_db устарел.

 <?php // Connect to MySQL $link = mysql_connect('localhost', 'mysql_user', 'mysql_password'); if (!$link) { die('Could not connect: ' . mysql_error()); } // Make my_db the current database $db_selected = mysql_select_db('my_db', $link); if (!$db_selected) { // If we couldn't, then it either doesn't exist, or we can't see it. $sql = 'CREATE DATABASE my_db'; if (mysql_query($sql, $link)) { echo "Database my_db created successfully\n"; } else { echo 'Error creating database: ' . mysql_error() . "\n"; } } mysql_close($link); ?> 

Поскольку вы упоминаете WAMP, я предполагаю, что вы говорите о MySQL.

Это может быть сложно. Предполагая, что ваш PHP-скрипт работает со всеми необходимыми учетными данными (что само по себе является сомнительной идеей), вы можете запустить этот запрос:

 SHOW DATABASES 

Если БД не отображается там, вы можете предположить, что он не существует и создать его с одним из этих запросов:

 CREATE DATABASE foo .... 

или:

 CREATE DATABASE IF NOT EXISTS foo ... 

Сразу после этого вам нужно проверить возвращаемое значение для любой функции PHP, которую вы используете (например, mysql_query). Вышеупомянутые запросы не удастся, если вашему пользователю теперь разрешено видеть все существующие базы данных или не разрешено создавать новые базы данных.

В общем, я считаю всю концепцию пугающей. Обращайтесь с ним осторожно! 😉