Signatur
Beschreibung
mysqli_stat() fragt den aktuellen Betriebsstatus des MySQL-Servers ab und liefert eine kompakte, einzeilige Statusmeldung. Diese enthält typischerweise Informationen wie Betriebsdauer (Uptime), Anzahl laufender Threads, Abfragen pro Sekunde, geladene Tabellen und mehr.
Die Funktion ist nützlich für Monitoring-Zwecke, schnelle Diagnosen oder zur Anzeige von Serverinformationen im Admin-Bereich einer Anwendung. Sie entspricht dem MySQL-Kommandozeilen-Befehl mysqladmin status.
Die Funktion ist sowohl im prozeduralen Stil (mysqli_stat($connection)) als auch im objektorientierten Stil ($mysqli->stat()) nutzbar. Bei einem Fehler wird false zurückgegeben.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $mysql Pflicht | mysqli | Ein aktives mysqli-Verbindungsobjekt, das zuvor mit mysqli_connect() oder new mysqli() erstellt wurde. |
Rückgabewert
false zurückgegeben.Beispiele
Systemstatus prozedural abrufen
<?php
$mysqli = mysqli_connect('localhost', 'root', 'geheim', 'testdb');
if (!$mysqli) {
die('Verbindungsfehler: ' . mysqli_connect_error());
}
$status = mysqli_stat($mysqli);
if ($status !== false) {
echo 'Server-Status: ' . $status . PHP_EOL;
} else {
echo 'Statusabfrage fehlgeschlagen.' . PHP_EOL;
}
mysqli_close($mysqli);
Systemstatus objektorientiert abrufen und parsen
<?php
$mysqli = new mysqli('localhost', 'root', 'geheim', 'testdb');
if ($mysqli->connect_errno) {
die('Verbindungsfehler: ' . $mysqli->connect_error);
}
$status = $mysqli->stat();
if ($status !== false) {
// Status-String in Key-Value-Paare aufteilen
$parts = explode(' ', $status);
foreach ($parts as $part) {
[$key, $value] = array_pad(explode(': ', $part, 2), 2, null);
if ($key && $value !== null) {
echo htmlspecialchars(trim($key)) . ' => ' . htmlspecialchars(trim($value)) . PHP_EOL;
}
}
} else {
echo 'Fehler beim Abrufen des Status.' . PHP_EOL;
}
$mysqli->close();
// Wichtig · Fallstricke
Berechtigungen: Abhängig von der MySQL-Serverkonfiguration kann für den Abruf dieser Statusinformationen das Recht PROCESS oder SUPER erforderlich sein. Bei fehlenden Rechten gibt die Funktion false zurück.
Ausgabeformat: Der zurückgegebene String ist für menschliche Lesbarkeit gedacht und kein strukturiertes Format. Für maschinell auswertbare Serverstatistiken empfiehlt sich stattdessen die SQL-Abfrage SHOW GLOBAL STATUS mit anschließendem Parsen der Ergebnismenge.
Nicht zu verwechseln mit mysqli_get_server_info(), das lediglich die Serverversion zurückgibt.