Signatur
Beschreibung
mysql_get_host_info() liefert eine Zeichenkette, die den Hostnamen des MySQL-Servers sowie den verwendeten Verbindungstyp (z. B. TCP/IP oder Unix-Socket) beschreibt. Diese Funktion ist nützlich zur Diagnose und zum Protokollieren von Datenbankverbindungen.
Die zurückgegebene Zeichenkette enthält typischerweise Informationen in der Form Localhost via UNIX socket oder hostname via TCP/IP, abhängig davon, wie die Verbindung zum Server hergestellt wurde.
Wird kein link_identifier angegeben, wird die zuletzt geöffnete Verbindung verwendet. Ist keine offene Verbindung vorhanden, wird versucht, eine neue mit mysql_connect() herzustellen.
Wichtig: Die gesamte mysql_*-Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 vollständig entfernt. Für neue Projekte sollte stattdessen mysqli_get_host_info() oder PDO verwendet werden.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $link_identifier | resource | null | Eine MySQL-Verbindungsressource, die von mysql_connect() zurückgegeben wurde. Wird dieser Parameter weggelassen, wird die zuletzt geöffnete Verbindung verwendet. |
Rückgabewert
Localhost via UNIX socket). Im Fehlerfall wird false zurückgegeben.Beispiele
Verbindungsinformationen für eine MySQL-Verbindung ausgeben
<?php
$link = mysql_connect('localhost', 'root', 'geheimesPasswort');
if (!$link) {
die('Verbindung fehlgeschlagen: ' . mysql_error());
}
$hostInfo = mysql_get_host_info($link);
echo 'Host-Info: ' . $hostInfo;
mysql_close($link);
?>
Verbindungstyp (TCP/IP oder Socket) erkennen
<?php
$link = mysql_connect('127.0.0.1', 'root', 'geheimesPasswort');
if (!$link) {
die('Verbindung fehlgeschlagen: ' . mysql_error());
}
$hostInfo = mysql_get_host_info($link);
if (strpos($hostInfo, 'TCP/IP') !== false) {
echo 'Verbindung erfolgt über TCP/IP.';
} elseif (strpos($hostInfo, 'UNIX socket') !== false) {
echo 'Verbindung erfolgt über UNIX-Socket.';
} else {
echo 'Unbekannter Verbindungstyp: ' . $hostInfo;
}
mysql_close($link);
?>
// Wichtig · Fallstricke
Deprecation-Hinweis: Die mysql_*-Erweiterung wurde in PHP 5.5.0 als veraltet (deprecated) markiert und in PHP 7.0.0 vollständig entfernt. Für aktuelle Projekte sollte mysqli_get_host_info() oder PDO eingesetzt werden. Code, der diese Funktion verwendet, lässt sich unter PHP 7+ nicht mehr ausführen.
Wenn kein link_identifier übergeben wird und keine aktive Verbindung besteht, wird intern versucht, mysql_connect() ohne Parameter aufzurufen, was in der Regel fehlschlägt und eine Warnung erzeugt.