2013-11-14 55 views
4

我試圖創建一個數據庫安裝的PHP文件,該文件第一次嘗試建立一個數據庫,如果不存在的話用我執行PDO準備語句存在,然後我想連接到這個。這是我該怎麼做的?還是有什麼我在這裏失蹤?創建數據庫如果不與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); 
+5

你爲什麼想用PDO創建數據庫?你知道你在這裏沒有使用準備好的陳述嗎(儘管你不能,但是無論如何)? –

+0

@Your常識通常我只會使用phpMyAdmin實際創建數據庫,但由於某種原因隨機我們的教授希望我們做這種方式。 –

+0

@oGeez,謝謝。我剛剛更新了它。 –

回答

20

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

$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"); 
+0

我只是想我的,它的工作,但我要給這個給你,因爲你是安全的。 –