我可以在PHP中使用PDO创建数据库吗?

2022-08-30 10:28:53

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


答案 1

是的,可以。

该部件是 PDO 构造函数的第一个参数,不必具有数据库名称。您只需使用 .然后,只要您拥有正确的权限,就可以使用常规 SQL 命令创建数据库和用户等。dsnmysql:host=localhost

下面是一个安装.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

是的,这是一样的,就像运行一个常规查询,如“CREATE TABLE...”。


推荐