Signatur
Beschreibung
mysqli_get_server_info() liefert die vollständige Versionszeichenkette des MySQL-Servers, mit dem die übergebene mysqli-Verbindung besteht. Die zurückgegebene Zeichenkette enthält typischerweise die MySQL-Versionsnummer sowie optionale Zusatzinformationen wie den Build-Typ oder die Distributionsbezeichnung (z. B. 8.0.32 oder 5.7.41-log).
Diese Funktion ist nützlich, wenn eine Anwendung serverseitig prüfen muss, welche MySQL-Funktionen verfügbar sind, oder wenn die Serverversion für Kompatibilitätsentscheidungen benötigt wird. Soll statt einer lesbaren Zeichenkette eine numerische Versionsnummer verwendet werden (z. B. für Vergleiche), empfiehlt sich die Funktion mysqli_get_server_version().
Die Funktion steht sowohl im prozeduralen Stil (mysqli_get_server_info($mysqli)) als auch im objektorientierten Stil über die Eigenschaft $mysqli->server_info zur Verfügung.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $mysql Pflicht | mysqli | Eine aktive mysqli-Verbindungsinstanz, wie sie von mysqli_connect() oder new mysqli() zurückgegeben wird. |
Rückgabewert
8.0.32. Im Fehlerfall (ungültige Verbindung) kann eine leere Zeichenkette zurückgegeben werden.Beispiele
Prozeduraler Stil: MySQL-Serverversion ausgeben
<?php
$mysqli = mysqli_connect('localhost', 'benutzer', 'passwort', 'datenbank');
if (!$mysqli) {
die('Verbindungsfehler: ' . mysqli_connect_error());
}
$serverVersion = mysqli_get_server_info($mysqli);
echo 'MySQL-Serverversion: ' . $serverVersion . PHP_EOL;
mysqli_close($mysqli);
Objektorientierter Stil: Serverversion für Kompatibilitätsprüfung verwenden
<?php
$mysqli = new mysqli('localhost', 'benutzer', 'passwort', 'datenbank');
if ($mysqli->connect_error) {
die('Verbindungsfehler: ' . $mysqli->connect_error);
}
// Über Eigenschaft abrufen (OOP-Äquivalent)
$serverInfo = $mysqli->server_info;
echo 'Serverinfo: ' . $serverInfo . PHP_EOL;
// Oder prozedural:
$serverInfo2 = mysqli_get_server_info($mysqli);
echo 'Serverinfo (prozedural): ' . $serverInfo2 . PHP_EOL;
// Einfacher Versionsvergleich (Hauptversion extrahieren)
$hauptversion = (int) explode('.', $serverInfo)[0];
if ($hauptversion >= 8) {
echo 'MySQL 8 oder neuer – JSON-Funktionen vollständig unterstützt.' . PHP_EOL;
} else {
echo 'Ältere MySQL-Version – prüfe Funktionsverfügbarkeit.' . PHP_EOL;
}
$mysqli->close();
// Wichtig · Fallstricke
Für numerische Versionsvergleiche (z. B. 80032) eignet sich mysqli_get_server_version() besser, da direkte Integer-Vergleiche damit einfacher und fehlerrobuster sind als das manuelle Parsen der Versionszeichenkette.
Bei der Nutzung von MariaDB als MySQL-Drop-in-Ersatz kann die zurückgegebene Zeichenkette eine MariaDB-spezifische Versionsnummer enthalten (z. B. 10.6.12-MariaDB). Anwendungen, die die Version parsen, sollten dies berücksichtigen.