Bạn gặp lỗi đó vì bạn đang cố cập nhật screening
bảng và đồng thời lấy id từ cùng một bảng đó (đã tham gia với users
). Giải pháp cho vấn đề này là sử dụng một truy vấn con, chẳng hạn như:
UPDATE screening
SET maileddate = date('Y-m-d', strtotime($mailed_date[$screeningId]))
WHERE user_id IN (
select s.id
from (
SELECT users.id
FROM users
INNER JOIN screening ON
users.id = screening.users_id
AND screening.id = {$screeningId}
) as s)
AND date BETWEEN 05-15/2011 AND 11-15-2011
LIMIT 2
Tôi chỉ thay đổi thụt lề và thêm truy vấn con bằng chữ thường.