Как создать базу данных, если она не существует, используя 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). Вышеупомянутые запросы не удастся, если вашему пользователю теперь разрешено видеть все существующие базы данных или не разрешено создавать новые базы данных.
В общем, я считаю всю концепцию пугающей. Обращайтесь с ним осторожно! 😉