Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menggemakan Perbezaan Masa MySQL dengan betul dalam PHP?

Bagaimana untuk Menggemakan Perbezaan Masa MySQL dengan betul dalam PHP?

DDD
DDDasal
2024-12-17 06:31:24625semak imbas

How to Correctly Echo a MySQL Time Difference in PHP?

Menggemakan Perbezaan Masa daripada Respons MySQL dalam PHP

Dalam PHP, anda boleh menggunakan fungsi mysql_query() untuk melaksanakan pertanyaan SQL terhadap pangkalan data MySQL. Walau bagaimanapun, apabila anda cuba echo() hasil pertanyaan yang mengembalikan perbezaan masa, anda mungkin menghadapi mesej ralat "ID Sumber #6."

Memahami Ralat

Ralat "ID Sumber #6" menunjukkan bahawa pernyataan echo() cuba mencetak pemegang sumber dan bukannya data sebenar. Pemegang sumber ialah pengecam unik yang diberikan kepada hasil yang ditetapkan oleh pelayan MySQL.

Penyelesaian

Untuk memaparkan perbezaan masa dengan betul, anda perlu menggunakan fungsi ambil untuk mendapatkan semula data sebenar daripada set hasil. Terdapat beberapa fungsi pengambilan yang tersedia, termasuk mysql_fetch_row(), mysql_fetch_array(), dan mysql_fetch_assoc().

Berikut ialah contoh yang menggunakan mysql_fetch_assoc() fungsi:

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

Nota:

Fungsi mysql_* tidak digunakan dan tidak boleh digunakan dalam projek baharu. Sebaliknya, gunakan sambungan PDO_MySQL atau mysqli.

Contoh yang Dipertingkat Menggunakan 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'];

Atas ialah kandungan terperinci Bagaimana untuk Menggemakan Perbezaan Masa MySQL dengan betul dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn