通过php创建数据库和表

问题描述 投票:0回答:1

我想自动创建数据库,执行描述模板表的/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");;
    ?>

它显示消息“成功”和“确定”,但没有名为“成功”的新数据库。从SQL命令“显示数据库”中检查“ uniqueID_reservedb”;我已通过SQL命令“显示数据库”确认,但没有新数据库。

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

请让我知道怎么了?

php mysql sql pdo
1个回答
0
投票

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

注意:它表示执行A SQL语句,数量不多。

© www.soinside.com 2019 - 2024. All rights reserved.