如果PDO不存在则创建数据库

时间:2013-11-14 18:44:57

标签: php mysql pdo prepared-statement

我正在尝试创建一个数据库安装PHP文件,如果使用我执行的PDO预处理语句尚不存在,则首先尝试创建数据库,然后我想连接到此。这是我怎么做的?或者我在这里缺少什么?

$mysql = new PDO("mysql:host=localhost", $dbusername, $dbpassword);
$pstatement = $mysql->prepare("CREATE DATABASE IF NOT EXISTS $dbname");
$pstatment->execute();
$dbconn = new PDO("mysql:host=localhost;dbname=$dbname", $dbusername, $dbpassword);

1 个答案:

答案 0 :(得分:22)

稍微更明智和安全的代码。

$pdo = new PDO("mysql:host=localhost", $dbusername, $dbpassword);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$dbname = "`".str_replace("`","``",$dbname)."`";
$pdo->query("CREATE DATABASE IF NOT EXISTS $dbname");
$pdo->query("use $dbname");