如果数据库不存在,如何使用PHP创建数据库?
答案 0 :(得分:12)
假设您正在谈论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);
?>
答案 1 :(得分:1)
既然你提到了WAMP,我会假设你在谈论MySQL。
这可能很棘手。假设您的PHP脚本使用所有必需的凭据运行(这本身就是一个有问题的想法),您可以运行此查询:
SHOW DATABASES
如果数据库没有显示在那里,您可以假设它不存在并使用以下查询之一创建它:
CREATE DATABASE foo ....
或:
CREATE DATABASE IF NOT EXISTS foo ...
在此之后,您需要检查您正在使用的任何PHP函数的返回值(例如mysql_query)。如果现在允许您的用户查看所有现有数据库,或者不允许创建新数据库,则上述查询将失败。
总的来说,我发现整个概念有点可怕。小心处理! ; - )