Signatur
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
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);
?>
Ä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();
?>
// 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.