2015-08-25 5 views
0

Есть ли способ получить MySQL версию с помощью PDO?php pdo получить версию базы данных (MYSQL)

Я хочу установить кодировку для моего соединения, но поскольку utf8mb4 появляется только 5.5.0 и после этого, мне нужно будет установить кодировку utf8 в качестве резервного плана.

+3

Refere это ссылка- Http: // stackoverflow.com/questions/31788297/get-mysql-server-version-with-pdo. – Nitin

+0

@Nitin спасибо за ссылку, я искал ее google, прежде чем задавать этот вопрос ... Я думаю, что мои искомые ключевые слова слишком неоднозначны ... – Andrew

ответ

1

вы могли бы использовать PDO и запросить его:

SELECT VERSION() 
1

Я не знаю, если следующий будет работать, но вы можете попробовать играть примерно с:

$dsn='mysql:host=localhost;port=3306;dbname=db1'; 
$db = new PDO($dsn, 'username', 'password'); 

if(floatval($db->getAttribute(PDO::ATTR_SERVER_VERSION)) < 5.5) { 
    /* set alternative charset */ 
    $db->exec("set names utf8"); 
} 
+0

Оба метода правы, он ответил первым :(извините. Я немного исказил ваш код удовлетворить мою потребность :) '$ charset = $ db-> getAttribute (\ PDO :: ATTR_SERVER_VERSION)> =" 5.5.0 "? «utf8mb4»: «utf8»; ' – Andrew

+0

Я думаю, что преимущество этого метода заключается в том, что вам не нужно выпускать другой запрос или готовить статут, чтобы получить номер версии, а затем вернуться и изменить его динамически, что лучше. – Andrew