Start · Sprachen · PHP · Referenz · mysql_get_server_info

mysql_get_server_info

Funktion

Gibt die Versionsinformation des verbundenen MySQL-Servers als Zeichenkette zurück.

seit PHP 4.0.0 Kategorie: db

Signatur

mysql_get_server_info(resource $link_identifier = NULL): string|false

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

Typ
string|false
Beschreibung
Gibt die Versionsinformation des MySQL-Servers als Zeichenkette zurück (z. B. 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);
?>
MySQL-Server-Version: 5.7.38-log

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);
?>
MySQL 5 oder neuer – erweiterte Funktionen verfügbar.

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