Start · Sprachen · PHP · Referenz · mysql_get_proto_info

mysql_get_proto_info

Funktion

Gibt die verwendete MySQL-Protokollversion der aktuellen oder angegebenen Verbindung zurück.

seit PHP 4.0.0 Kategorie: db

Signatur

mysql_get_proto_info(resource $link_identifier = null): int|false

Beschreibung

mysql_get_proto_info() liefert die Versionsnummer des MySQL-Kommunikationsprotokolls, das für die angegebene Datenbankverbindung verwendet wird. Diese Zahl ist typischerweise 10 für moderne MySQL-Versionen und dient hauptsächlich Diagnose- und Debugging-Zwecken.

Die Funktion ist nützlich, wenn man sicherstellen möchte, dass eine Verbindung auf einem erwarteten Protokollstand läuft, oder wenn man Verbindungsdetails für Logging- und Monitoring-Zwecke protokollieren möchte. In der Praxis wird sie eher selten benötigt, da das Protokoll für Anwendungsentwickler in der Regel keine Rolle spielt.

Wichtig: Die gesamte mysql_*-Erweiterung ist seit PHP 5.5.0 als veraltet (deprecated) markiert und wurde mit PHP 7.0.0 vollständig entfernt. Für neue Projekte sollte stattdessen mysqli_get_proto_info() oder die PDO-Erweiterung verwendet werden.

Parameter

Name Typ Default Beschreibung
$link_identifier resource null Eine MySQL-Verbindungsressource, wie sie von mysql_connect() zurückgegeben wird. Wird kein Wert angegeben, wird die zuletzt geöffnete Verbindung verwendet. Ist keine Verbindung vorhanden, wird versucht, eine neue mit den Standardparametern zu erstellen.

Rückgabewert

Typ
int|false
Beschreibung
Gibt die MySQL-Protokollversionsnummer als Ganzzahl zurück (z. B. 10). Im Fehlerfall wird false zurückgegeben.

Beispiele

Protokollversion der aktuellen Verbindung ausgeben

<?php
// Verbindung zur MySQL-Datenbank herstellen
$link = mysql_connect('localhost', 'root', 'geheim');

if (!$link) {
    die('Verbindung fehlgeschlagen: ' . mysql_error());
}

$proto = mysql_get_proto_info($link);

if ($proto !== false) {
    echo 'MySQL-Protokollversion: ' . $proto;
} else {
    echo 'Protokollinformation konnte nicht abgerufen werden.';
}

mysql_close($link);
?>
MySQL-Protokollversion: 10

Äquivalent mit mysqli (empfohlene Alternative)

<?php
// Moderne Alternative mit mysqli
$mysqli = new mysqli('localhost', 'root', 'geheim', 'testdb');

if ($mysqli->connect_errno) {
    die('Verbindung fehlgeschlagen: ' . $mysqli->connect_error);
}

// mysqli_get_proto_info() als Ersatz für mysql_get_proto_info()
$proto = mysqli_get_proto_info($mysqli);

echo 'MySQL-Protokollversion (mysqli): ' . $proto;

$mysqli->close();
?>
MySQL-Protokollversion (mysqli): 10

// Wichtig · Fallstricke

Deprecation-Hinweis: Die 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, ist auf modernen PHP-Versionen nicht mehr lauffähig. Als direkter Ersatz steht mysqli_get_proto_info() zur Verfügung.

Da das MySQL-Protokoll für normale Anwendungsentwicklung irrelevant ist, wird diese Funktion fast ausschließlich in Diagnose-Skripten oder bei der Fehlersuche eingesetzt. Für Verbindungsinformationen, die für Sicherheits- oder Kompatibilitätsprüfungen benötigt werden, sind mysql_get_server_info() oder mysql_get_client_info() häufig hilfreicher.