Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Posso criar um banco de dados usando PDO em PHP?


Sim você pode.

O dsn part, que é o primeiro parâmetro do construtor PDO, não precisa ter um nome de banco de dados. Você pode simplesmente usar mysql:host=localhost . Então, desde que você tenha o privilégio certo, você pode usar comandos SQL regulares para criar um banco de dados e usuários, etc.

A seguir está um exemplo de um install.php Arquivo. Ele faz login com root, cria um banco de dados, um usuário e concede ao usuário todos os privilégios para o novo banco de dados criado:
<?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());
    }
?>