Signatur
Beschreibung
mysqli_get_client_version() liefert die Versionsnummer der MySQL-Client-Bibliothek (libmysqlclient oder mysqlnd), die PHP intern verwendet. Die Version wird als Integer in der Form HAUPTVERSION * 10000 + NEBENVERSION * 100 + PATCH kodiert — z. B. ergibt Version 8.0.32 den Wert 80032.
Diese Funktion benötigt keine aktive Datenbankverbindung und kann daher jederzeit aufgerufen werden, auch bevor ein mysqli-Objekt erstellt wird. Das macht sie nützlich, um Mindestanforderungen an die Client-Bibliothek zu prüfen, bevor eine Verbindung aufgebaut wird.
Im Unterschied zu mysqli_get_server_version() gibt diese Funktion die Version der Client-Bibliothek zurück, nicht die des MySQL-Servers. Wenn Sie die lesbare String-Darstellung der Client-Version benötigen, verwenden Sie mysqli_get_client_info().
Rückgabewert
HAUPTVERSION * 10000 + NEBENVERSION * 100 + PATCH. Zum Beispiel entspricht der Wert 80032 der Client-Version 8.0.32.Beispiele
Client-Version als Integer ausgeben
<?php
$version = mysqli_get_client_version();
echo 'MySQL-Client-Version (Integer): ' . $version . PHP_EOL;
// Version in lesbare Form umrechnen
$major = (int) ($version / 10000);
$minor = (int) (($version % 10000) / 100);
$patch = (int) ($version % 100);
echo sprintf('Lesbare Version: %d.%d.%d', $major, $minor, $patch) . PHP_EOL;
Mindestversion der Client-Bibliothek prüfen
<?php
// Sicherstellen, dass mindestens MySQL-Client 5.7.0 vorhanden ist
$minRequired = 5 * 10000 + 7 * 100 + 0; // 50700
if (mysqli_get_client_version() >= $minRequired) {
echo 'Client-Bibliothek erfüllt die Mindestanforderung.' . PHP_EOL;
} else {
echo 'Warnung: MySQL-Client-Bibliothek ist veraltet!' . PHP_EOL;
}
// Wichtig · Fallstricke
Hinweis zu mysqlnd: Wenn PHP mit dem nativen MySQL-Treiber (mysqlnd) kompiliert wurde, gibt diese Funktion die mysqlnd-Version zurück, nicht die der libmysqlclient. Die Versionsnummer kann sich dabei von der tatsächlich installierten MySQL-Server-Version unterscheiden.
OOP-Stil: In der objektorientierten Schreibweise steht die Konstante mysqli::$client_version bzw. die Methode mysqli_get_client_version() zur Verfügung. Da keine Verbindung nötig ist, existiert keine OOP-Methode auf einem mysqli-Objekt — stattdessen kann die Konstante MYSQLI_CLIENT_VERSION verwendet werden.