我想自动创建数据库,执行描述模板表的/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没有运行。
请让我知道怎么了?
[exec返回受影响的数字或行或为FALSE,因此根据文档,您的测试不正确。
注意:它表示执行A SQL语句,数量不多。