Heim >Datenbank >MySQL-Tutorial >Wie kann ich einen MySQL-Zeitunterschied in PHP korrekt wiedergeben?

Wie kann ich einen MySQL-Zeitunterschied in PHP korrekt wiedergeben?

DDD
DDDOriginal
2024-12-17 06:31:24636Durchsuche

How to Correctly Echo a MySQL Time Difference in PHP?

Echo eines Zeitunterschieds aus einer MySQL-Antwort in PHP

In PHP können Sie die Funktion mysql_query() verwenden, um SQL-Abfragen auszuführen eine MySQL-Datenbank. Wenn Sie jedoch versuchen, das Ergebnis einer Abfrage, die einen Zeitunterschied zurückgibt, mit echo() abzurufen, wird möglicherweise die Fehlermeldung „Ressourcen-ID Nr. 6“ angezeigt.

Verstehen des Fehlers

Der Fehler „Ressourcen-ID #6“ weist darauf hin, dass die echo()-Anweisung versucht, ein Ressourcenhandle anstelle der tatsächlichen Daten zu drucken. Ein Ressourcenhandle ist eine eindeutige Kennung, die dem Ergebnissatz vom MySQL-Server zugewiesen wird.

Lösung

Um den Zeitunterschied korrekt anzuzeigen, müssen Sie eine Abruffunktion verwenden um die tatsächlichen Daten aus der Ergebnismenge abzurufen. Es stehen mehrere Abruffunktionen zur Verfügung, darunter mysql_fetch_row(), mysql_fetch_array() und mysql_fetch_assoc().

Hier ist ein Beispiel, das mysql_fetch_assoc() verwendet Funktion:

$result = mysql_query(sprintf("SELECT TIMEDIFF(NOW(), '%s') as time_delta", $row['fecha']));
if ($result) {
  $data = mysql_fetch_assoc($result);
  echo $data['time_delta'];
}

Hinweis:

Die mysql_*-Funktionen sind veraltet und sollten nicht in neuen Projekten verwendet werden. Verwenden Sie stattdessen die Erweiterungen PDO_MySQL oder mysqli.

Verbessertes Beispiel mit PDO

$pdo = new PDO('mysql:host=localhost;dbname=database_name', 'username', 'password');
$stmt = $pdo->prepare("SELECT TIMEDIFF(NOW(), :fecha) as time_delta");
$stmt->bindParam(':fecha', $row['fecha'], PDO::PARAM_STR);
$stmt->execute();
$data = $stmt->fetch(PDO::FETCH_ASSOC);
echo $data['time_delta'];

Das obige ist der detaillierte Inhalt vonWie kann ich einen MySQL-Zeitunterschied in PHP korrekt wiedergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn