mysqli::ping

mysqli_ping

(PHP 5, PHP 7, PHP 8)

mysqli::ping -- mysqli_pingPingt eine Serververbindung an oder versucht eine neue Verbindung aufzubauen, wenn die Verbindung unterbrochen wurde

Warnung

Diese Funktion ist seit PHP 8.4.0 als DEPRECATED (veraltet) markiert. Von der Verwendung dieser Funktion wird dringend abgeraten.

Beschreibung

Objektorientierter Stil

#[\Deprecated]
public mysqli::ping(): bool

Prozeduraler Stil

#[\Deprecated]
mysqli_ping(mysqli $mysql): bool

Überprüft, ob die Verbindung zum Server funktioniert. Wenn sie unterbrochen wurde und die globale Option mysqli.reconnect aktiviert ist, wird automatisch versucht, eine neue Verbindung herzustellen.

Hinweis: Die php.ini-Einstellung mysqli.reconnect wird vom mysqlnd-Treiber ignoriert, so dass nie automatisch versucht wird, eine neue Verbindung herzustellen.

Diese Funktion kann von Clients verwendet werden, die längere Zeit untätig sind, um zu überprüfen, ob der Server die Verbindung getrennt hat, und sich gegebenenfalls neu zu verbinden.

Parameter-Liste

mysql

Nur bei prozeduralem Aufruf: ein von mysqli_connect() oder mysqli_init() zurückgegebenes mysqli-Objekt.

Rückgabewerte

Gibt bei Erfolg true zurück. Bei einem Fehler wird false zurückgegeben.

Fehler/Exceptions

If mysqli error reporting is enabled (MYSQLI_REPORT_ERROR) and the requested operation fails, a warning is generated. If, in addition, the mode is set to MYSQLI_REPORT_STRICT, a mysqli_sql_exception is thrown instead.

Changelog

Version Beschreibung
8.4.0 Sowohl mysqli::ping() als auch mysqli_ping() sind nun veraltet. Die Funktionalität reconnect ist seit PHP 8.2.0 nicht mehr verfügbar, wodurch diese Funktion überflüssig wurde.

Beispiele

Beispiel #1 mysqli::ping()-Beispiel

Objektorientierter Stil

<?php
$mysqli
= new mysqli("localhost", "my_user", "my_password", "world");

/* Verbindung überprüfen */
if ($mysqli->connect_errno) {
printf("Verbindung fehlgeschlagen: %s\n", $mysqli->connect_error);
exit();
}

/* Überprüfen, ob der Server läuft */
if ($mysqli->ping()) {
printf ("Unsere Verbindung ist OK!\n");
} else {
printf ("Fehler: %s\n", $mysqli->error);
}

/* Verbindung schließen */
$mysqli->close();
?>

Prozeduraler Stil

<?php
$link
= mysqli_connect("localhost", "my_user", "my_password", "world");

/* Verbindung überprüfen */
if (mysqli_connect_errno()) {
printf("Verbindung fehlgeschlagen: %s\n", mysqli_connect_error());
exit();
}

/* Überprüfen, ob der Server läuft */
if (mysqli_ping($link)) {
printf ("Unsere Verbindung ist OK!\n");
} else {
printf ("Fehler: %s\n", mysqli_error($link));
}

/* Verbindung schließen */
mysqli_close($link);
?>

Die obigen Bespiele erzeugen folgende Ausgabe:

Unsere Verbindung ist OK!