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

    ?> 

यह ठीक से काम कर रहा है लेकिन यह सिंगल कोट्स के साथ नाम 'खाता' वाला डेटाबेस बनाता है, क्या किसी को भी एकल उद्धरण को हटाने का तरीका पता है। मैं कई चीजों की कोशिश करता हूं लेकिन यह नहीं हटाता है।पीडीओ के साथ डेटाबेस बनाएं 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

1

का उपयोग कर http://www.php.net/manual/en/book.pdo.php के अनुसार आप तालिका, स्तंभ और डेटाबेस नाम जैसी चीजों को श्वेतसूची में शामिल करने वाले हैं डेटाबेस तैयार नहीं कर सकते।

कोशिश करें;

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

का डुप्लिकेट यह काम नहीं कर रहा है .. त्रुटि त्रुटि: – Pankaj

संबंधित मुद्दे