हाँ, आप कर सकते हैं।
dsn
भाग, जो कि पीडीओ कंस्ट्रक्टर का पहला पैरामीटर है, का डेटाबेस नाम होना आवश्यक नहीं है। आप बस उपयोग कर सकते हैं mysql:host=localhost
. फिर, यदि आपके पास सही विशेषाधिकार है, तो आप डेटाबेस और उपयोगकर्ता आदि बनाने के लिए नियमित SQL कमांड का उपयोग कर सकते हैं।
एक install.php से एक उदाहरण निम्नलिखित है फ़ाइल। यह रूट के साथ लॉग इन करता है, एक डेटाबेस बनाता है, एक उपयोगकर्ता, और उपयोगकर्ता को नए बनाए गए डेटाबेस के लिए सभी विशेषाधिकार प्रदान करता है:
<?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());
}
?>