通过php创建数据库和表

Posted

技术标签:

【中文标题】通过php创建数据库和表【英文标题】:Make a database and tables via php 【发布时间】:2020-05-31 01:20:43 【问题描述】:

我想自动创建一个数据库,执行描述模板表的/tmp/tmp.sql,并在新创建的数据库中注册。

<?php
    //create db
    $uuid= "uniqueID";
    $dbname = $uuid.'_reservedb';

    //connectーーーーーーーーーーーーーーーー
    $dsn = 'mysql:;host=localhost';
    $user = 'root';

    try 
        $dbh = new PDO($dsn, $user);
        print_r("success\n");
     catch (PDOException $e) 
        print_r('Error:'.$e->getMessage());
        die();
    
    print_r($dbname."\n");

    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $sql = file_get_contents('/tmp/tmp.sql');
    $rtn=$dbh->exec($sql);
    if($rtn)
        print_r("OK\n");
    else
        print_r("NG\n");;
    ?>

它显示消息“成功”和“确定”,但没有名为“成功”的新数据库 uniqueID_reservedb" 从 SQL 命令 "show databases;" 检查 我用 SQL 命令“show databases”确认了,但是没有新的数据库。

当然,/tmp/tmp.sql 没有运行。

请告诉我怎么了?

【问题讨论】:

我没有看到创建新数据库的命令。你只需创建一些 PHP 变量 【参考方案1】:

exec 返回受影响的行数或 FALSE,因此根据文档,您的测试不正确。

注意:它说执行A SQL 语句,并不多。

【讨论】:

以上是关于通过php创建数据库和表的主要内容,如果未能解决你的问题,请参考以下文章

PHP MySQL 创建数据库和表 之 Create

如何通过 Spring Boot Web App 即时创建 mysql 数据库和表

MySQL2MySQL 创建数据库和表

经典解密数据库和表的创建

动态创建php文件和表

java编写创建数据库和表的程序