W3docs

get_client_info

Saiba como usar a função mysqli_get_client_info() do PHP para retornar a versão da biblioteca cliente MySQL com exemplos práticos.

A função mysqli_get_client_info() retorna a versão da biblioteca cliente MySQL com a qual a extensão MySQLi foi compilada. Aqui, biblioteca cliente refere-se à biblioteca C (libmysqlclient ou mysqlnd) que o PHP utiliza para se comunicar com o MySQL — não o seu navegador, a sua aplicação ou o servidor de banco de dados. Esta página explica a sintaxe, o que o valor de retorno realmente indica e como ela difere das funções relacionadas de "servidor" e "versão do cliente".

O que é a biblioteca cliente?

Quando o PHP se comunica com o MySQL, faz isso por meio de uma biblioteca cliente de baixo nível compilada na extensão MySQLi. Nas instalações modernas de PHP, isso é quase sempre o mysqlnd (MySQL Native Driver), que é distribuído com o próprio PHP; versões mais antigas ou compilações personalizadas podem usar o libmysqlclient da Oracle. A função mysqli_get_client_info() informa a string de versão daquela que está em uso, por exemplo mysqlnd 8.1.0 ou 8.0.30.

Isso é útil para:

  • Depurar problemas de conexão que dependem do driver em uso.
  • Registrar detalhes do ambiente para que um relatório de bug inclua a compilação exata do cliente.
  • Verificar compatibilidade quando um recurso exige uma versão mínima da biblioteca cliente.

Sintaxe

mysqli_get_client_info(?mysqli $mysql = null): string
ParâmetroDescrição
$mysqlOpcional. Um link de conexão retornado por mysqli_connect() / new mysqli(). Este parâmetro é ignorado no PHP moderno — o valor vem da biblioteca compilada, não da conexão — mas é aceito para compatibilidade retroativa.

Valor de retorno: uma string descrevendo a versão da biblioteca cliente MySQL. Nenhuma conexão é necessária para chamá-la.

Exemplo procedural

Como a função lê um valor em tempo de compilação, você nem precisa de uma conexão ativa com o banco de dados:

<?php
// No connection needed — this reflects the library PHP was built with
$client_info = mysqli_get_client_info();

printf("MySQL client library version: %s\n", $client_info);
?>

Uma saída típica tem esta aparência (a string exata depende da sua compilação de PHP):

MySQL client library version: mysqlnd 8.1.0

Exemplo orientado a objetos

O MySQLi também expõe esse valor por meio da propriedade client_info e do método mysqli::get_client_info():

<?php
$mysqli = new mysqli("localhost", "username", "password", "database");

if ($mysqli->connect_errno) {
    die("Connection failed: " . $mysqli->connect_error);
}

// Both lines print the same value
echo $mysqli->client_info . "\n";
echo $mysqli->get_client_info() . "\n";

$mysqli->close();
?>

Biblioteca cliente vs. versão do cliente vs. informações do servidor

Estas quatro funções são fáceis de confundir:

Se você precisar apenas fazer uma verificação numérica do tipo "esta versão é suficientemente nova?", prefira mysqli_get_client_version(). Use mysqli_get_client_info() quando quiser um rótulo legível por humanos para logs.

Conclusão

mysqli_get_client_info() retorna uma string legível por humanos com a versão da biblioteca cliente MySQL compilada na extensão MySQLi. Ela não exige uma conexão e é mais útil para registro de logs e diagnósticos. Para mais informações sobre como abrir conexões, consulte mysqli_connect() e a visão geral do MySQLi.

Prática

Prática
O que mysqli_get_client_info() retorna?
O que mysqli_get_client_info() retorna?
Was this page helpful?