Я довольно новичок в библиотеке PDO, поэтому я прошу прощения за свою неопытность.Я пишу класс, который использует библиотеку PDO для создания и выполнения запросов и возврата результатов, независимо от того, какие они есть.
Внутри класса я определяю, существует ли открытое соединение с базой данных, и еслиэто то же самое, что и конфигурируемый, он использует этот вместо этого.Это действительно легко сделать, используя библиотеку MsSQL, так как функция PDO::getAttribute()
возвращает «CurrentDatabase» и «SQLServerName», поэтому я могу просто применить условие следующим образом:
if(!empty($this->PDO)){
// Get the current connection information
$current_connection = $this->PDO->getAttribute(PDO::ATTR_SERVER_INFO);
// Return if the connection is the same
if($this->connection_parameters['hostname']==$current_connection['SQLServerName']&&$this->connection_parameters['database']==$current_connection['CurrentDatabase']){
return;
}
}
Однако, когда дело доходит доMySQL, данные, возвращаемые из PDO::getAttribute
, совершенно другие, и я не могу получить имя базы данных из текущего соединения.
Известно ли кому-либо тело функцию или метод для получения текущей подключенной базы данных соединения MySQLиспользуя библиотеку PDO
в PHP
?