Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Acara Sisi Server dengan PHP &MySQL

Anda kehilangan beberapa hal di sisi server untuk membuat ini berfungsi.

Pertama, seperti yang ditunjukkan @RiggsFilly, Anda perlu menggunakan klausa WHERE dalam pernyataan. Syaratnya harus cari transaksi yang baru dari yang terakhir dikirim.

Untuk itu, Anda perlu melacak stempel waktu dari pesan yang terakhir dikirim.

Server seharusnya hanya mengirim pesan jika kueri, sekarang dengan kondisi, mengembalikan hasil.

Terakhir, seluruh rutinitas untuk memeriksa transaksi baru dan mengirim pesan jika ditemukan harus disimpan dalam satu lingkaran.

<?php 
include 'conn.php'; // database connection

header("Content-Type: text/event-stream");
header("Cache-Control: no-cache");

$query = "SELECT TimeStamp, CardNo FROM transactions WHERE TimeStamp > ?";
$stmt = $conn->prepare($query);
$ts = time();

while(true) 
{
    if ($result = $stmt->execute([$ts])) {
        $row = $result->fetch_assoc();
        echo "data: " . $row['CardNo'] . "\n\n";
        $ts = $row['TimeStamp'];
        flush();
    }
    sleep(2);
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kunci tabel mysql dengan php

  2. Bagaimana saya bisa meletakkan dua kueri dalam satu mysql_query?

  3. Cara mendorong Data Database MySQL ke aplikasi web MVC .NET

  4. Menggunakan Otomatisasi untuk Mempercepat Tes Rilis di Galera Cluster Dengan ClusterControl

  5. MySQL 'secure-file-priv' tidak mengizinkan memuat data infile, bahkan dari folder aman yang dialokasikan