2013-07-11 58 views
5
<?php 
    $login = 'root'; 
    $password = 'root'; 
    $dsn = "mysql:host=localhost"; 
    $dbb = 'account'; 
    $opt = array(
    // any occurring errors wil be thrown as PDOException 
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, 
    // an SQL command to execute when connecting 
    PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'" 
    ); 

    // Making a new PDO conenction. 
    $conn = new PDO($dsn, $login, $password,$opt); 

    $db = $conn->prepare("CREATE SCHEMA IF NOT EXISTS `?` "); 
    $db->bindParam(1, $dbb); 
    $db->execute();   

    ?> 

它的工作正常,但它使用單引號將數據庫名稱'帳戶'有沒有人知道如何去除單引號。我嘗試了很多東西,但沒有刪除。使用PDO創建數據庫bindParam

+4

無法爲表,列和數據庫名稱等實體名稱使用佔位符 – hek2mgl

+0

爲什麼需要從腳本創建數據庫?除了應用程序安裝腳本,還有很少的事情需要。 –

+0

那麼它是如何創建分區的? – Pankaj

回答

1

這是工作:

<?php 
$login = 'root'; 
$password = 'root'; 
$dsn = "mysql:host=localhost"; 
$dbb = 'account'; 
$opt = array(
// any occurring errors wil be thrown as PDOException 
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, 
// an SQL command to execute when connecting 
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'" 
); 

// Making a new PDO conenction. 
$conn = new PDO($dsn, $login, $password,$opt); 

$db = $conn->prepare("CREATE SCHEMA IF NOT EXISTS $dbb "); 
$db->execute();   

?> 

我想使用bindParam