$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();
}
Есть функция или константа внутри PDO, которая хранит имя базы данных (значение testdb
)? Я сделал var_dump на $ dbh и не нашел ничего ...Как получить имя базы данных в PDO?
Это не работает должным образом, поскольку PDO :: setAttribute принимает только целое число как ключ. Определение собственной константы могло бы сделать это, но это немного сложно. смотрите здесь: 'http: // php.net/manual/en/pdo.setattribute.php' – tomvo
Какой неправильный угаданный ответ ... - PHP также имеет динамические общедоступные свойства, которые вы можете установить во время выполнения - нет необходимости в setAttribute () 'или' getAttribute() ', просто выполнив à la' $ pdo-> myDataBaseNameProperty = 'dbame'; 'будет достаточно. – hakre
3 года спустя, и мой (принятый) ответ не выдержал проверку временем. Ниже приведен явный лучший ответ, который я бы рекомендовал. –