在PHP中检查数据库是否存在(MySQL),如果不存在,则创建它。

12

我想编写一个PHP脚本,用来检查数据库(位于本地主机上,用户名为"root",密码为空)是否存在"data1",如果不存在则创建它。感谢您能给我提供的任何帮助。

3个回答

29
CREATE DATABASE IF NOT EXISTS DBName;

2
我需要在PHP中知道数据库是否存在,该怎么做? - DomingoSL

11
检查mysql_select_db的返回值 - 当数据库存在且可被选择时,此函数将返回true - 也就是说,数据库可能存在,但当前用户可能没有权限访问该数据库。这可能足以在PHP中确定数据库是否存在 - 只要您能保证PHP MySQL数据库用户在数据库存在时始终可以访问该数据库。
mysql_connect('localhost', 'root', '');
if (!mysql_select_db('mydb')) {
    echo("creating database!\n");
    mysql_query('CREATE DATABASE mydb');
    mysql_select_db('mydb');
}

mysql(i)_select_db的目的仅是更改连接的默认数据库,您已经需要一个连接来测试它。因此,虽然它可能有效,但可能不是最佳解决方案。 - ılǝ

1

我需要在PHP中知道数据库是否存在,该怎么做? - DomingoSL
尝试连接数据库。如果成功,那么数据库就在那里。如果失败,请观察错误以确定原因 :) - basarat
或者您可以使用此处记录的方法作为已接受的解决方案:https://dev59.com/THRA5IYBdhLWcg3wwwzD - basarat

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接