Start · Sprachen · PHP · Referenz · mysqli_get_proto_info

mysqli_get_proto_info

Funktion

Gibt die Versionsnummer des MySQL-Kommunikationsprotokolls zurück, das für die aktuelle Datenbankverbindung verwendet wird.

seit PHP 5.0.0 Kategorie: db

Signatur

mysqli_get_proto_info(mysqli $mysql): int

Beschreibung

mysqli_get_proto_info() liefert die Versionsnummer des MySQL-Netzwerkprotokolls (Client/Server-Protokoll), das für die übergebene Verbindung aktiv ist. Typischerweise wird hier der Wert 10 zurückgegeben, da MySQL seit Version 3.21 das Protokoll Version 10 nutzt.

Die Funktion ist nützlich für Diagnose- und Debug-Zwecke, um sicherzustellen, dass Client und Server dasselbe Protokoll verwenden. In normalen Anwendungen wird sie selten benötigt, kann aber in Bibliotheken oder Treibern hilfreich sein, die protokollspezifische Funktionen nutzen wollen.

Sie steht als prozedurale Version der objektorientierten Eigenschaft $mysqli->protocol_version zur Verfügung.

Parameter

Name Typ Default Beschreibung
$mysql Pflicht mysqli Ein gültiges mysqli-Verbindungsobjekt, das zuvor mit mysqli_connect() oder new mysqli() erstellt wurde.

Rückgabewert

Typ
int
Beschreibung
Gibt die Versionsnummer des verwendeten MySQL-Protokolls als Ganzzahl zurück. In der Praxis ist dies fast immer 10.

Beispiele

Protokollversion einer Verbindung ermitteln (prozedural)

<?php
$mysqli = mysqli_connect('localhost', 'benutzer', 'passwort', 'datenbank');

if (!$mysqli) {
    die('Verbindungsfehler: ' . mysqli_connect_error());
}

$protoVersion = mysqli_get_proto_info($mysqli);
echo 'MySQL-Protokollversion: ' . $protoVersion;

mysqli_close($mysqli);
MySQL-Protokollversion: 10

Protokollversion per OOP-Schnittstelle auslesen

<?php
$mysqli = new mysqli('localhost', 'benutzer', 'passwort', 'datenbank');

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

// OOP-Äquivalent: $mysqli->protocol_version
$protoVersion = mysqli_get_proto_info($mysqli);
echo 'Verwendetes MySQL-Protokoll: Version ' . $protoVersion . PHP_EOL;

// Alternativ direkt über die Eigenschaft:
echo 'Via Eigenschaft: Version ' . $mysqli->protocol_version . PHP_EOL;

$mysqli->close();
Verwendetes MySQL-Protokoll: Version 10 Via Eigenschaft: Version 10

// Wichtig · Fallstricke

Der Rückgabewert ist seit MySQL 3.21 praktisch immer 10 und ändert sich in der Regel nicht. Die Funktion hat daher kaum praktischen Nutzen in Produktionsanwendungen, sondern dient primär zu Diagnosezwecken.

Das OOP-Äquivalent ist die schreibgeschützte Eigenschaft $mysqli->protocol_version, die identische Informationen liefert.