Hallo zusammen!
Ich habe ein kleines Problem:
Und zwar lege ich mit einem Script einen neuen Datensatz in einer Tabelle an. Sobald das passiert ist, leite ich den Nutzer auf eine Seite weiter, auf der der neue Datensatz angezeigt wird.
Das ganze läuft folgendermaßen:
Ich suche mit mysql_insert_id() die eben eingefügte ID und rufe danach die PHP-Header Funktion in dieser Art auf:
header("Location: anzeigen.php?id=".$neueId);
D.h. sobald der Speichervorgang abgeschlossen ist und ich die neue Id erhalten haben, wird man direkt weitergeleitet.
Nun erhalte ich jedoch immer die Meldung in der anzeigen.php, dass der Datensatz nicht vorhanden ist. Lade ich die anzeigen.php mit der entsprechenden Id neu, dann funktioniert alles.
Ich hatte jetzt den Verdacht, dass evtl. die Datenbank "noch nicht fertig ist" und habe ein sleep(1); vor das Senden des Headers eingebaut. Das funktioniert auch prima
Meine Frage ist nun aber, wie kann das denn überhaupt sein? Schließlich bekomme ich doch schon die neue Id übergeben, d.h. der Datensatz müsste doch schon existieren. Wieso wird er jedoch nicht gefunden, wenn ich das Script nicht kurz pausiere?
Viele Grüße,
Jan
Ich habe ein kleines Problem:
Und zwar lege ich mit einem Script einen neuen Datensatz in einer Tabelle an. Sobald das passiert ist, leite ich den Nutzer auf eine Seite weiter, auf der der neue Datensatz angezeigt wird.
Das ganze läuft folgendermaßen:
Ich suche mit mysql_insert_id() die eben eingefügte ID und rufe danach die PHP-Header Funktion in dieser Art auf:
header("Location: anzeigen.php?id=".$neueId);
D.h. sobald der Speichervorgang abgeschlossen ist und ich die neue Id erhalten haben, wird man direkt weitergeleitet.
Nun erhalte ich jedoch immer die Meldung in der anzeigen.php, dass der Datensatz nicht vorhanden ist. Lade ich die anzeigen.php mit der entsprechenden Id neu, dann funktioniert alles.
Ich hatte jetzt den Verdacht, dass evtl. die Datenbank "noch nicht fertig ist" und habe ein sleep(1); vor das Senden des Headers eingebaut. Das funktioniert auch prima
Meine Frage ist nun aber, wie kann das denn überhaupt sein? Schließlich bekomme ich doch schon die neue Id übergeben, d.h. der Datensatz müsste doch schon existieren. Wieso wird er jedoch nicht gefunden, wenn ich das Script nicht kurz pausiere?
Viele Grüße,
Jan
Kommentar