Antworten
Kannst Du das Problem näher eingrenzen, damit da keine 30, sondern nur 2 Codezeilen stehen?
2.
normalerweise geb ich zuwenig an heute zu viel ...;-)
ich dachte die kommentarzeilen weisen he drauf hin!
Der Fehler müsste aber hier sein:
Code: In Zwischenablage kopieren (nur IE)
3.
Jetzt machst Du noch ein paar "print"s davor und dahinter:
print_r ($output_laxikon["lexikon_id"]);
...
print_r($id_lexikon);
...
print_r($result);
denn ich bin fast geneigt das hier zu schreiben:
Standard-Antwort:Richtig debuggen
1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
2. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
3. An den Anfang des Scriptes schreibt man die Zeile: error_reporting(E_ALL);
4. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
5. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
6. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
7. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
8. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.
Die Ausgaben per echo kann man sich ersparen, in dem man einen Debugger benutzt.
4.
Was ist das für ein grausames Script?
1) Was ist $output[projekt_id], wo wird der Wert gesetzt?
2) Wieso steht irgendwo im Quark '<option ...>', aber nirgendwo ein Submit-Button geschweige denn ein <form..>-TAG?
3) Wieso ist bei den Querys auf die Tabelle "lexikon" stets ein ''@" vorangestellt - weil es die lebensnotwendigen Fehlermeldungen unterdrückt?