sql >> Database teknologi >  >> RDS >> Mysql

Kan jeg oprette en database ved hjælp af PDO i PHP?

Ja, det kan du.

dsn part, som er den første parameter i PDO-konstruktøren, behøver ikke at have et databasenavn. Du kan blot bruge mysql:host=localhost . Så, hvis du har de rette rettigheder, kan du bruge almindelige SQL-kommandoer til at oprette en database og brugere osv.

Følgende er et eksempel fra en install.php fil. Den logger ind med root, opretter en database, en bruger og giver brugeren alle rettigheder til den nyoprettede 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());
    }
?>


  1. PostgreSQL fejl ved forsøg på at oprette en udvidelse

  2. Opsætning af MySQL InnoDB Cluster med MySQL Shell (plus MySQL Router)

  3. Find, prioriter og løs SQL Server-problemer på få minutter

  4. Initial array i funktion til at aggregere multi-dimensional array