2016-10-09 2 views
0

Я работаю над плагином WordPress, где я пытаюсь получить некоторую базовую информацию о том, какой тип базы данных установлен.Как получить базовую информацию о базе данных в PHP

информация мне нужно следующим образом:

  • Программное обеспечение базы данных: это может быть MySQL, MariaDB, Oracle или что-нибудь еще
  • Database Version: Я знаю, как получить его

Теперь я знаю, что могу легко получить версию базы данных, выполнив следующий запрос:

$wpdb->get_var("SELECT VERSION() AS version"); 

Но я понятия не имею, как получить имя программного обеспечения базы данных.

Кто-нибудь знает какой-либо способ получить эту информацию?

ответ

2

увидеть таблицы в INFORMATION_SCHEMA дб с use и show tables и копаться.

SELECT variable_value 
FROM INFORMATION_SCHEMA.SESSION_VARIABLES 
WHERE variable_name IN ('version_comment','version_compile_os','version_compile_machine','version','innodb_version'); 
+------------------------------+ 
| variable_value    | 
+------------------------------+ 
| 5.6.31      | 
| Win64      | 
| x86_64      | 
| MySQL Community Server (GPL) | 
| 5.6.31-log     | 
+------------------------------+ 

Справочник по MySQL, озаглавленный Chapter 22 INFORMATION_SCHEMA Tables.

+0

Но как я должен знать об этом, использует ли пользователь MySQL или MariaDB MySQL MySQL или что-то еще? – iSaumya

+0

строки подтвердят это. Они любят хвастаться этим в своих струнах, нет? – Drew

+0

В какой строке вы говорите? 'version' скажет MySQL как для обычного MySQL & MariaDB – iSaumya

2

В PHP, если вы используете драйвер PDO вы можете использовать можно использовать PDO::getAttribute() с PDO::ATTR_DRIVER_NAME:

при условии $ соед ваша связь вы можете retrive связанный с ним драйвер дб с

$dbDriverName = $conn->getAttribute(PDO::ATTR_DRIVER_NAME); 

вы можете проверить, если вам есть в вары

$DB_HOST, 
$DB_USER, 
$DB_PASSWORD 
$DB_NAME 

, то вы можете попробовать новое соединение

$conn = mysql_connect($DB_HOST, $DB_USER, $DB_PASSWORD, $DB_NAME); 

или вы можете импортировать WP-config.php для получения соединения паров дб увидеть это для внушения https://wordpress.stackexchange.com/questions/162614/how-to-make-connection-to-wordpress-data-base-in-a-plugin

+0

Спасибо. Это отлично подходит для обычного PHP-скрипта, в WordPress все вызовы базы данных обрабатываются '$ wpdb'. Итак, как мне обращаться с ним в WordPress? – iSaumya

+0

если $ wpdb является попыткой подключения .. $ wpdb-> getAttribute (PDO :: ATTR_DRIVER_NAME); в противном случае показать код, где установлено соединение. – scaisEdge

+0

WordPress обрабатывает соединение DB через 'wp-config.php', вы можете увидеть более подробную информацию здесь: https://codex.wordpress.org/Editing_wp-config.php – iSaumya

Смежные вопросы