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
Freigeben: 2024-12-17 06:31:24
Original
626 Leute haben es durchsucht

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'];
}
Nach dem Login kopieren

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'];
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage