Sie erhalten diesen Fehler, weil Sie versuchen, das screening
zu aktualisieren Tabelle und gleichzeitig die IDs aus derselben Tabelle abrufen (verbunden mit users
). Die Problemumgehung hierfür besteht darin, eine Unterabfrage wie diese zu verwenden:
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
Ich habe nur den Einzug geändert und die Unterabfrage in Kleinbuchstaben hinzugefügt.