Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

ORDER_BY ngày LIMIT 1

Trước hết, bạn nên sử dụng các câu lệnh đã chuẩn bị sẵn như sau:

$note = "SELECT * 
    FROM notify 
    WHERE seeker=:seeker AND donor=:donor 
    ORDER BY `date` DESC
    LIMIT 1";

$st = $conn->prepare($note);
$st->execute(array(
    ':seeker' => $_SESSION['email'],
    ':donor' => $email,
);

Không có trình giữ chỗ, bạn vẫn có thể sử dụng SQL injection.

Thứ hai, bạn không thể so sánh một chuỗi với một số nguyên theo cách này:

$now = $time; // string
$old_date = strtotime($found['date']); // integer
$dateif = $now - $old_date; // dunno?

Bạn nên so sánh táo với táo:

$seven_days_ago = strtotime('-7 days');
$old_date = strtotime($found['date']);

if ($old_date > $seven_days_ago) {
    echo "difference between tow dates is less than 7 days";
} else {
    echo "the difference between tow dates is 7 days or more";
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tham chiếu khóa ngoại trong cùng một cột

  2. Tại sao Kết nối MySQL Hibernate này ở chế độ chỉ đọc?

  3. Làm thế nào để lưu trữ hơn 255 ký tự trong cơ sở dữ liệu MySQL?

  4. mySQL - Tạo một bảng mới bằng cách sử dụng dữ liệu và cột từ ba bảng

  5. Làm cách nào để xuất và nhập cơ sở dữ liệu mysql với dữ liệu của nó bằng tập lệnh php?