当前位置: 首页 > 面试题库 >

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

徐俊人
2023-03-14
问题内容

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


问题答案:

是的你可以。

dsn部分是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个数据库-DB1和DB2。 我可以在DB1中创建一个与DB2中的一个表有关系的表吗?换句话说,我的表中是否可以有来自另一个数据库的外键? 我用不同的用户连接到这些数据库。有任何想法吗? 现在,我收到错误消息: ORA-00942:表或视图不存在 问题答案: 不可以,Oracle不允许您创建通过数据库链接引用表的外键约束。您将必须使用触发器来强制执行完整性。

  • 本文向大家介绍PHP使用PDO连接ACCESS数据库,包括了PHP使用PDO连接ACCESS数据库的使用技巧和注意事项,需要的朋友参考一下 1,参考W3CSHOOL http://www.w3cschool.cc/php/php-pdo.html 2,连接access 以上就是简单的实用php的pdo方式连接ACCESS数据库的方法了,希望大家能够喜欢。

  • 问题内容: 我正在从PHP中读取一个TEXT文件,并试图从中执行命令,例如创建一个DB及其具有的所有表和过程。我的代码创建表,但不创建文件中给定的存储过程。 PDO没有创建SP,那么将如何完成此任务?我尝试一起执行所有代码部分并逐行执行,但没有任何效果。 我正在尝试制作数据库安装程序脚本。 问题答案: 好吧,PMA帮助我回答了我自己的问题。 为了克服这个问题,您需要删除过程的定界符部分,以便查询变

  • 问题内容: 我有这样的看法: 我想使其更通用,这意味着将2更改为变量。我尝试了这个: 但是MySQL不允许这样做。 我发现了一个丑陋的解决方法: 然后视图是: 但是它看起来确实很糟糕,用法也很糟糕-我必须在每次使用视图之前设置@MyVariable。 有没有一种解决方案,我可以这样使用: 具体情况如下:我有一个表,用于存储有关拒绝请求的信息: 多重性是在同一秒内记录的多个相同请求。我想显示一个拒绝

  • 问题内容: 使用H2, 如果数据库尚不存在,则创建数据库。 但是,在Postgres中,不会创建不存在的数据库,因此会引发异常,例如“ DB不存在”。有没有一种方法可以配置Postgres按需创建不存在的数据库? 以下配置文件可用于重现该问题: 使用H2可以正常工作: 使用Postgres失败 问题答案: 该工具只能为现有架构创建表,而不能为您创建架构。在运行该工具之前,数据库必须存在。这是因为数

  • 问题内容: (我已经看过[H2数据库在内存中-通过Spring /Hibernate问题的初始化架构;在这里不适用。) 我想知道H2中是否有设置,允许我在连接到它时自动创建一个模式。如果有帮助,我只对内存中的情况感兴趣。 H2在URL的末尾支持各种用分号分隔的修饰符,但是我找不到用于自动创建模式的修饰符。有这样的功能吗? 问题答案: 是的,H2支持在连接时执行SQL语句。您可以运行脚本,也可以只运