MySQL ile etkileşim için PDO kullanan bir sınıf oluşturmak istiyoruz. Ben PDO kullanarak yeni bir MySQL tablo oluşturabilir miyim?
Evet, yapabilirsiniz.
PDO kurucusu ilk parametresi dsn
kısmı, bir veritabanı adı olması gerekmez. Sadece kullanabilirsiniz mysql:host=localhost
. Ardından, sağ ayrıcalığına sahip verilmiş, vb, veritabanı ve kullanıcı oluşturmak için düzenli SQL komutunu kullanabilirsiniz
Bir örnek, bir install.php den Aşağıda, bir veritabanı, bir kullanıcı oluşturmak ve yeni oluşturulan veritabanına kullanıcının tüm imtiyazının, kök ile kaydeder:
<?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());
}
?>