是的你可以。
dsn部分(它是PDO构造函数的第一个参数)不必具有数据库名称。你可以简单地使用mysql:host = localhost。然后,给定您的权限,可以使用常规SQL命令创建数据库和用户等。
以下是install.php中的一个示例,它使用root登录,创建数据库和用户,并将用户的所有权限授予新创建的数据库:
$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());
}
?>