sql >> Base de Datos >  >> RDS >> Mysql

¿Puedo crear una base de datos usando PDO en PHP?

Sí, puedes.

El dsn part, que es el primer parámetro del constructor PDO, no tiene que tener un nombre de base de datos. Simplemente puede usar mysql:host=localhost . Luego, dado que tiene el privilegio correcto, puede usar comandos SQL regulares para crear una base de datos y usuarios, etc.

El siguiente es un ejemplo de un install.php expediente. Inicia sesión con root, crea una base de datos, un usuario y otorga al usuario todos los privilegios para la nueva base de datos creada:

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