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

làm thế nào để làm cho Doctrine_Expression (học thuyết 1.2) cố gắng đạt được 7 ngày qua

Lý do tại sao nó không trả về bất cứ điều gì là vì Doctrine thoát khỏi biểu thức - SQL được tạo là

WHERE (date > 'DATE_SUB(CURDATE(), INTERVAL 7 DAY)')

hơn là

WHERE (l.action_time > DATE_SUB(CURDATE(), INTERVAL 7 DAY))

Bạn có thể buộc nó hoạt động như thế này:

$date = new Doctrine_Expression('DATE_SUB(CURDATE() , INTERVAL 7 DAY)');
$q->where('date > ' . $date);

Tuy nhiên, đây không phải là lựa chọn an toàn nhất vì đầu vào không thoát và không phải là phương pháp hay ...




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Giữa các chỉ mục bị thiếu câu lệnh trong một số trường hợp nhất định

  2. Liên kết bị hỏng đường ống JDBC gián đoạn và lỗi liên kết

  3. mysql REGEXP không khớp

  4. Tại sao AES_DECRYPT trả về giá trị rỗng?

  5. cách lấy các giá trị từ cơ sở dữ liệu không rỗng