基本上,我想创建一个数据库,但是我知道如果你想创建一个已经存在的mysql数据库会有问题。那么如何检查它是否已经存在于PHP中?
这是伪代码:
if (database exist)
{do nothing}
//if it doesn't exist
else
{create the database}
现在我已经知道如何自己创建数据库了。这对我来说很容易,我只是不知道如何检查是否已存在。
答案 0 :(得分:5)
SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'DBName'
如果您只需要知道数据库是否存在,那么当您尝试创建数据库时不会出现错误,只需使用(从此处):
CREATE DATABASE IF NOT EXISTS DBName;
答案 1 :(得分:3)
如果无法选择数据库,则所有这些都返回false
。
这意味着它不存在或您没有访问权限。
bool mysql_select_db ( string $database_name [, resource $link_identifier = NULL ] )
bool mysqli_select_db ( mysqli $link , string $dbname )
也可以使用PDO。 或者mysqli作为对象:
try {
$mysqli = new mysqli("localhost", "my_user", "my_password");
} catch (\Exception $e) {
echo $e->getMessage(), PHP_EOL;
}
if ($mysqli->select_db('your_database') === false) {
// Create db
}
答案 2 :(得分:0)
继续尝试创建表格。如果表已经存在,MySQL将抛出一个可以测试的错误。
如果您只是想避免错误,那么无论如何都要创建表,那么您可以在IF NOT EXISTS
语句中添加CREATE
子句。
答案 3 :(得分:0)
由于您要检查它是否存在以及是否,您想要创建它,您可以同时执行这两项操作。我假设您拥有执行以下操作所需的权限:
CREATE DATABASE IF NOT EXISTS <name of the database>;