Signatur
Beschreibung
mysql_get_server_info() liefert die Versionszeichenkette des MySQL-Servers, mit dem die angegebene (oder zuletzt geöffnete) Verbindung besteht. Das Ergebnis hat typischerweise das Format 5.7.38 oder ähnliches und kann dazu genutzt werden, serverseitige Funktionen abhängig von der Datenbankversion bedingt einzusetzen.
Diese Funktion gehört zur alten mysql_*-Erweiterung, die in PHP 5.5.0 als deprecated markiert und in PHP 7.0.0 vollständig entfernt wurde. Für neue Projekte sollte stattdessen mysqli_get_server_info() oder die PDO-Methode PDO::getAttribute(PDO::ATTR_SERVER_VERSION) verwendet werden.
Der optionale Parameter link_identifier erlaubt die Angabe einer bestimmten MySQL-Verbindungsressource. Wird er weggelassen, wird die zuletzt mit mysql_connect() geöffnete Verbindung verwendet. Ist keine aktive Verbindung vorhanden, wird versucht, eine Verbindung ohne Argumente herzustellen.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $link_identifier | resource | NULL | Eine optionale MySQL-Verbindungsressource, die mit mysql_connect() erzeugt wurde. Wird kein Wert übergeben, wird die zuletzt geöffnete Verbindung verwendet. |
Rückgabewert
5.7.38-log). Im Fehlerfall (keine Verbindung vorhanden) wird false zurückgegeben.Beispiele
Server-Version abfragen und ausgeben
<?php
// Verbindung mit dem MySQL-Server herstellen
$link = mysql_connect('localhost', 'root', 'geheimes_passwort');
if (!$link) {
die('Verbindung fehlgeschlagen: ' . mysql_error());
}
// Server-Versionsinformation abrufen
$serverInfo = mysql_get_server_info($link);
echo 'MySQL-Server-Version: ' . $serverInfo;
mysql_close($link);
?>
Versionsabhängige Logik (mysqli-Äquivalent empfohlen)
<?php
// HINWEIS: mysql_*-Funktionen sind ab PHP 7.0 nicht mehr verfügbar.
// Dieses Beispiel gilt nur für PHP 5.x.
$link = mysql_connect('localhost', 'benutzer', 'passwort');
$version = mysql_get_server_info($link);
// Hauptversionsnummer extrahieren
$hauptversion = (int) explode('.', $version)[0];
if ($hauptversion >= 5) {
echo 'MySQL 5 oder neuer – erweiterte Funktionen verfügbar.';
} else {
echo 'Ältere MySQL-Version – eingeschränkte Funktionalität.';
}
mysql_close($link);
?>
// Wichtig · Fallstricke
Deprecation-Hinweis: Die gesamte mysql_*-Erweiterung wurde in PHP 5.5.0 als veraltet markiert und in PHP 7.0.0 vollständig entfernt. Code, der diese Funktion verwendet, lässt sich unter PHP 7 oder neuer nicht mehr ausführen. Verwende stattdessen mysqli_get_server_info() oder PDO::getAttribute(PDO::ATTR_SERVER_VERSION).
Die zurückgegebene Zeichenkette kann neben der eigentlichen Versionsnummer auch Zusatzinformationen wie -log, -debug oder den Distributionsnamen enthalten. Für einen reinen Versionsvergleich sollte die Zeichenkette entsprechend geparst werden.