I want to create a class which uses PDO to interact with MySQL. Can I create a new MySQL table using P开发者_StackOverflowDO?
Yes, you can.
The dsn part, which is the first parameter of the PDO constructor, does not have to have a database name. You can simply use mysql:host=localhost. Then, given you have the right privilege, you can use regular SQL commands to create a database and users, etc.
Following is an example from an install.php file. It logs in with root, create a database, a user, and grant the user all privilege to the new created database:
<?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());
    }
?>
Yes, it's the same, like running a regular query like "CREATE TABLE ...".
 
         
                                         
                                         
                                         
                                        ![Interactive visualization of a graph in python [closed]](https://www.devze.com/res/2023/04-10/09/92d32fe8c0d22fb96bd6f6e8b7d1f457.gif) 
                                         
                                         
                                         
                                         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论