是的,你可以.
dsn
部分是PDO构造函数的第一个参数,不必有数据库名称.你可以简单地使用mysql:host=localhost
.然后,如果您拥有正确的权限,您可以使用常规SQL命令创建数据库和用户等.
下面是一个install.php文件的示例.它使用root登录,创建一个数据库,一个用户,并向用户授予新创建的数据库的所有权限:
<?php
$host = "localhost";
$root = "root";
$root_password = "rootpass";
$user = 'newuser';
$pass = 'newpass';
$db = "newdb";
try {
$dbh = new PDO("mysql:host=$host", $root, $root_password);
$dbh->exec("CREATE DATABASE `$db`;
CREATE USER '$user'@'localhost' IDENTIFIED BY '$pass';
GRANT ALL ON `$db`.* TO '$user'@'localhost';
FLUSH PRIVILEGES;")
or die(print_r($dbh->errorInfo(), true));
}
catch (PDOException $e) {
die("DB ERROR: " . $e->getMessage());
}
?>