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

PDO PHP - Tìm tất cả các hàng giữa 2 ngày - hiển thị trống

DATE_FORMAT() trả về một chuỗi, không phải ngày. Chuyển 3 đối số chuỗi cho BETWEEN ... ai biết điều gì sẽ trở lại.

Để gỡ bỏ mã của bạn, hãy sử dụng:

$week_start = date('Y-m-d',time()+( 1 - date('w'))*24*3600);  
$week_end =  date('Y-m-d',time()+( 7 - date('w'))*24*3600); 

để định dạng ngày tháng của bạn theo cách mà mySQL mong đợi và:

WHERE 
  start_date BETWEEN '".$week_start."' AND '".$week_end."'

trong truy vấn.

Hoặc nếu bạn thích cách tiếp cận hướng đối tượng, hãy làm như sau:

$week_start = new DateTime; 
$week_end = new DateTime;
$week_start->setTimestamp(time()+( 1 - date('w'))*24*3600)); 
$week_end->setTimestamp(time()+( 7 - date('w'))*24*3600);

Sau đó, trong truy vấn của bạn, hãy thực hiện:

WHERE 
  start_date 
      BETWEEN '".$week_start->format('Y-m-d')."'
      AND '".$week_end->format('Y-m-d')."'

Sau đó, đối với mọi thứ khác, bạn có thể lặp lại định dạng theo cách bạn muốn:

echo $date->format('d-m-Y'); // etc



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để khắc phục vòng lặp này để hiển thị hình ảnh từ cơ sở dữ liệu của tôi bằng băng chuyền bootstrap

  2. Đang tải thông báo lớp com.mysql.jdbc.Driver ... không được dùng nữa

  3. Làm cách nào để truy xuất dữ liệu nhị phân bằng trình kết nối Mysql Python?

  4. Làm thế nào để quản lý Vai trò Người dùng trong Cơ sở dữ liệu?

  5. Tôi có thể chạy một vòng lặp trong MySQL mà không sử dụng một thủ tục / hàm không?