2013-07-11 13 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();   

    ?> 

funziona correttamente ma crea un database con nome 'account' con virgolette singole qualcuno sa come rimuovere le virgolette singole. Provo molte cose ma non rimuovo.Crea database con PDO bindParam

+4

Non è possibile utilizzare un segnaposto per i nomi di entità come i nomi delle tabelle, colonne e database – hek2mgl

+0

perché avete bisogno di creare basi di dati dal vostro scritto? A parte uno script per l'installazione di app, ci sono pochissime cose che lo richiedono. –

+0

quindi come si crea un db – Pankaj

risposta

1

Questo è il lavoro:

<?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();   

?> 

credo che non si può preparare il database utilizzando BindParam