Start · Sprachen · PHP · Referenz · mysqli_get_client_version

mysqli_get_client_version

Funktion

Gibt die Version der MySQL-Client-Bibliothek als Integer zurück.

seit PHP 5.0.0 Kategorie: db

Signatur

mysqli_get_client_version(): int

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

Typ
int
Beschreibung
Die Version der MySQL-Client-Bibliothek als Integer. Die Formel lautet: 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;
MySQL-Client-Version (Integer): 80032 Lesbare Version: 8.0.32

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;
}
Client-Bibliothek erfüllt die Mindestanforderung.

// 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.