Je krijgt die foutmelding, omdat je de screening
probeert bij te werken tabel en tegelijkertijd de id's van diezelfde tabel ophalen (samen met users
). De oplossing hiervoor is om een subquery als zodanig te gebruiken:
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
Ik heb alleen de inspringing gewijzigd en de subquery in kleine letters toegevoegd.