Mysql
 sql >> Base de données >  >> RDS >> Mysql

Puis-je créer une base de données en utilisant PDO en PHP ?

Oui, vous pouvez.

Le dsn part, qui est le premier paramètre du constructeur PDO, n'a pas besoin d'avoir un nom de base de données. Vous pouvez simplement utiliser mysql:host=localhost . Ensuite, étant donné que vous avez le bon privilège, vous pouvez utiliser des commandes SQL régulières pour créer une base de données et des utilisateurs, etc.

Voici un exemple d'un install.php dossier. Il se connecte avec root, crée une base de données, un utilisateur et accorde à l'utilisateur tous les privilèges sur la nouvelle base de données créée :

<?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());
    }
?>