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

    ?> 

działa poprawnie, ale tworzenie bazy danych o nazwie "konto" z pojedynczymi cudzysłowami sprawia, że ​​każdy wie, jak usunąć pojedyncze cudzysłowy. Próbuję wielu rzeczy, ale to się nie usuwa.Utwórz bazę danych za pomocą PDO bindParam

+4

Nie jest możliwe użycie zastępczy dla nazwy jednostki, takie jak nazwy tabel, kolumn i baz danych – hek2mgl

+0

Dlaczego potrzebne do tworzenia baz danych ze skryptu? Oprócz skryptu instalacji aplikacji jest bardzo mało rzeczy, które tego wymagają. –

+0

to jak tworzy się db – Pankaj

Odpowiedz

1

to działa:

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

?> 

Chyba nie można przygotować bazę danych za pomocą bindParam

Powiązane problemy