Tach!
(1) Wenn ich das Ergebnis meiner Abfrage in $ergebnis gespeichert habe:
$abfrage = SELECT benutzer.name FROM benutzer INNER JOIN optionen ON (benutzer.id = optionen.id) WHERE (optionen.option = 1);
$ergebnis = mysql_query($abfrage);
>
> Kann ich es von dort direkt für das Updpate nutzen?
Das ist ein Verweis auf eine bereits im Hintergrund abgefragte Ergebnismenge. Die einzelnen Ergebnisse bekommst du nur über die Fetch-Funktionen. Und du kannst dir aus den Werten nur ein neues Statement zusammenstellen. Wenn du auf mysqli umsteigst, kannst du zwar mit mysqli\_fetch\_all() ein fertiges Array bekommen, aber auch das müsstest du durchackern. Einfacher geht es mit einem INSERT ... SELECT ... ON DUPLICATE KEY UPDATE ...
> (2) Ich will ja alle Datensätze außer die gelieferten löschen. Ich wüsste mir hier jetzt nur mit DELETE ... WHERE NOT ... zu helfen. Bräuchte ich dann hier spätestens wieder ein Array oder kann ich auch hier (falls es zu (1) etwas gab), direkt mit dem SQL-Ergebnis weiterarbeiten?
Du kannst WHERE name NOT IN (...) nehmen. In die Klammern kommt dann ein SELECT, dass dir die Namen liefert (falls du die und nicht die IDs als Primärschlüssel verwenden willst. Warum eigentlich (nicht)?).
dedlfix.