echo $begrüßung;
MySQL-Server hat sich aufgehängt, CPU 100% Last!
Habe ich da irgendwo einen Zirkelbezug drin (Schleife??)?
In einem (wenn auch mit Subquerys gespickten) SELECT? Halte ich nicht für wahrscheinlich. Allerdings hast du vom PHP nur eine Variablenzuweisung gepostet. Vielleicht ist im Rest eine Schleife drin. Das bekommst du ja gut selbst raus, wenn du an strategisch wichtigen Punkten eine Kontrollausgabe einfügst. (Ein flush() hinterher bittet den Webserver die Ausgabe sofort an den Client zu senden, und nicht erst Ausgabepuffer zu füllen.) Du kannst auch ein Query-Log einschalten und dessen Füllung mitverfolgen (unter Unix: tail -f logfile)
Ich bild zunächst eine Anfrage, die die bestehdnen Datensätze einschränkt [...], wobei die WHERE-Klausel erst ganz am Schluss ausgeführt wird [...]
Die Reihenfolge der Abarbeitung der Klauseln ist nach logischen Gesichtspunkten geordnet und entspricht im wesentlichen der Reihenfolge ihrer Notation in einem SELECT-Statement (ungeachtet von irgendwelchen Optimierungen, die MySQL vornehmen mag). FROM und JOINs legen fest, welche Tabellen herangezogen werden und wie diese miteinander verknüpft werden. In den Join-Bedingungen werden die zu verwendenden Datensätze ausgewählt. Nun schränkt das WHERE die Auswahl weiter ein. GROUP BY fasst jetzt die Menge nach den Gruppierungsangaben zusammen. SELECT bestimmt nun die Spalten der Ergebnismenge, die mit HAVING noch weiter eingeschränkt und mit ORDER BY sortiert werden kann. Ein LIMIT geift sich abschließend daraus den als Ergebnismenge gewünschten Ausschnitt heraus. Subquerys werden an der Stelle ausgewertet, an der sie notiert wurden.
Die Ergebnisse werden ja in einem Array geliefert.
Das kommt darauf an, welche Fetch-Funktion du verwendest.
Die id ist ja mehrfach vergeben. Wie komme ich an die einzelnen IDs?
Nur über z.B. $array[71] anstelle $array[id]?
Je nach Fetch-Funktion. Bei manchen anhand der Position, bei anderen gar nicht, weil die Spaltennamen nicht eindeutig sind, und sich damit gegenseitig überschreiben. Eindeutig wird es mit eindeutigen Aliasnamen.
Es gibt auch Funktionen, mit denen man genaue Informationen zu den Spalten bekommt, unter anderem auch Tabellen- und Feldnamen.
Gibt es da noch ne andere Möglichkeit außer der umständlichen Methode "... AS neuer_name"?
Ob dir ein Alias oder das Auslesen der Spalten-Meta-Information aufwendiger erscheint, musst du selbst beurteilen.
echo "$verabschiedung $name";