$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';
try {
$dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
Esiste una funzione o una costante all'interno di PDO che memorizza il nome del database (il valore testdb
)? Ho fatto un var_dump su $ dbh e non riesco a trovare nulla ...Come ottenere il nome del database in PDO?
Questo non funziona come previsto poiché PDO :: setAttribute accetta solo un numero intero come chiave. Definire la tua costante potrebbe farlo, ma è un po 'complicato. guarda qui: 'http: // php.net/manual/it/pdo.setattribute.php' – tomvo
Che risposta sbagliata indovina ... - PHP ha anche proprietà pubbliche dinamiche che puoi impostare in fase di esecuzione - non c'è bisogno di' setAttribute () 'o' getAttribute() ', facendo semplicemente à la' $ pdo-> myDataBaseNameProperty = 'dbame'; 'sarebbe sufficiente. – hakre
3 anni dopo, e la mia risposta (accettata) non ha superato la prova del tempo. C'è una risposta chiaramente migliore sotto che raccomanderei. –