$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();
}
¿Hay una función o constante dentro de PDO que almacena el nombre de la base de datos (el valor testdb
)? Hice un var_dump en $ dbh y no puedo encontrar nada ...¿Cómo obtener el nombre de la base de datos en PDO?
Esto no funciona como se esperaba, ya que PDO :: setAttribute solo acepta un número entero como clave. Definir tu propia constante podría hacerlo, pero es un poco complicado. mira aquí: 'http: // php.net/manual/es/pdo.setattribute.php' – tomvo
Qué respuesta adivinada incorrecta ... - PHP también tiene propiedades públicas dinámicas que puedes establecer en tiempo de ejecución - no hay necesidad de' setAttribute () 'o' getAttribute() ', simplemente haciendo à la' $ pdo-> myDataBaseNameProperty = 'dbame'; 'sería suficiente. – hakre
3 años después, y mi respuesta (aceptada) no ha resistido la prueba del tiempo. Hay una respuesta claramente mejor a continuación que recomendaría. –