はい、できます。
dsn
PDOコンストラクターの最初のパラメーターであるpartには、データベース名を付ける必要はありません。 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());
}
?>