代码之家  ›  专栏  ›  技术社区  ›  Xerri

我能用PHP中的PDO创建一个数据库吗

  •  45
  • Xerri  · 技术社区  · 16 年前

    我想创建一个使用pdo与mysql交互的类。我可以用pdo创建一个新的mysql表吗?

    2 回复  |  直到 10 年前
        1
  •  98
  •   Jingshao Chen    13 年前

    是的,你可以。

    这个 dsn part是pdo构造函数的第一个参数,不必具有数据库名称。你可以简单地使用 mysql:host=localhost . 然后,如果您拥有适当的特权,您可以使用常规的SQL命令来创建数据库和用户等。

    下面是install.php的一个示例,它使用root登录,创建一个数据库,一个用户,并向用户授予新建数据库的所有权限:

    <?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());
        }
    ?>
    
        2
  •  -1
  •   Haim Evgi    16 年前

    是的,就像运行一个像“创建表…”这样的常规查询一样。