Zwei INSERT-Anfragen hintereinander ausführen
Paco
- datenbank
Hallo!
Ich möchte zwei INSERT-Befehle hintereinander ausführen und dabei die id des ersten Eintrags als Fremdschlüssel in eine andere Tabelle übernehmen. Der Code:
if($anzahl == 0 ) {
$query = "INSERT INTO projekte ( projekt, projektleiter ) VALUES ( '$sendung', '$projektleiter' )";
$dummy = (mysql_query($query) or die(mysql_error()));
$projekt_id = mysql_insert_id();
$query = "INSERT INTO dispo ( projekt, projekt_id, projektleiter ) VALUES ( '$sendung', '$projekt_id', '$projektleiter' )";
$dummy = (mysql_query($query) or die(mysql_error()));
}
Es wird aber nur die Anfrage ausgeführt, jedoch auch kein SQL-Error ausgegeben. Die Syntax ist aber doch in ordnung, oder? Ich habe mir auch alle variablen vor der zweiten Anfrage nochmal ausgeben lassen und sie haben alle die richtigen Werte. Wenn es keinen SQL-Fehler gibt, woran kann denn das liegen?
Vielen Dank im Voraus,
Paco
Hi,
... Wenn es keinen SQL-Fehler gibt ...
ähm, vielleicht doch, nur du unterdrückst diesen Fehler evt. mittels dieser or die(mysql_error())
Anweisung?
Ansonsten, Standard-Tipp: Lass dir zwischendurch _ALLE_ Werte ausgeben, die erzeugt werden. Und damit meine ich explizit: $query (2x sogar) und $projekt_id
Wie sieht denn zum Bleistift der Inhalt von $query vor dem letzten mysql_query($query) aus? ' (Hochkommas) dienen im übrigen zum Begrenzen von Text.
Gruss, Frank
hi,
Ich möchte zwei INSERT-Befehle hintereinander ausführen und dabei die id des ersten Eintrags als Fremdschlüssel in eine andere Tabelle übernehmen. Der
Dafür eignet sich beispielsweise mysqli_insert_id, ich habe bewusst auf das mysqli Tutorial verlinkt, dass wäre nämlich mein nächster Tipp :)
mfg