In die Datenbank wird immer zweimal geschrieben
alkativo
- php
Hi,
immer wenn ich einen neuen DAtensatz eintragen will, kommen 2 raus. Woran kann da liegen? Hier der Code:
$r_insert_abteilung = mysql_query("INSERT INTO abteilungen ( id , abteilung )VALUES ('', '$speicherfeld') ;");
echo "<script>window.location.href="verzeichnis_neu_abtei.php";</script>";
Vielen Dank
Hallo alkativo!
immer wenn ich einen neuen Datensatz eintragen will, kommen 2 raus. Woran kann da liegen? Hier der Code:
$r_insert_abteilung = mysql_query("INSERT INTOabteilungen(id,abteilung)VALUES ('', '$speicherfeld') ;");
Also, wenn diese Abfrage nur einmal ausgeführt wird, wird der Datensatz auch nur einmal eingefügt.
Du mußt also prüfen, ob dieser Befehl vielleicht an anderer Stelle in Deinem Script nochmal aufgerufen wird.
Warum Du JavaScript-Code ausgibst versteh ich zwar nicht, aber die Ausgabe an sich ist auch ziemlich egal.
MfG
Götz
Hallo Götz,
der Befehl, bzw. die Zeile wird nur einmal ausgeführt. Er schreibt es aber trotzdem 2 mal. Das ist wie verhext. Ist nicht so als hätte ich noch nie nen Eintrag gemacht oder so.
Cu
Hallo alkativo!
der Befehl, bzw. die Zeile wird nur einmal ausgeführt. Er schreibt es aber trotzdem 2 mal.
Nein. Der Befehl fügt die Daten nur einmal ein. Am Befehl an sich liegt es imho definitiv nicht.
Bau mal Debug-Ausgaben (geschickt vielleicht direkt bevor/nachdem Du den SQL-Befehl ausführst) in Deinen Code ein und setze am Anfang des Scriptes error_reporting(E_ALL); - villeicht kommst Du ja so dem Problem näher.
MfG
Götz
Hallo ich hab es gefunden. Also ein Javascript überprüft ob etwas eingegeben wurde und ob der Datensatz schon vorhanden ist. Dann kann man erst weiterkommen. Der Butten hierfür ist aber ein Submit Button und hat es leider praktisch zweimal abgeschickt. Einmal der Button und ein mal das Formular mit onSubmit. Ich hab den Button jetzt in type = Button veränndert und jetzt rockt es. Vielen Dank und bis die Tage..
Hallo alkativo!
Also ein Javascript überprüft ob etwas eingegeben wurde und ob der Datensatz schon vorhanden ist. [...]
Es wäre gut, wenn Du das zusätzlich auch noch serverseitig prüfst, schließtlich hat nicht jeder JavaScript aktiviert.
MfG
Götz
Also,
wenn ich
INSERT INTO abteilungen ( id , abteilung)VALUES ('', '$speicherfeld')
in phpmyadmin benutze, dann macht er das nur einmal, in meinem Script macht er aber 2 Einträge. Zwischen <? und ?> steht aber nur eine Zeile. Woran kann das liegen? AN der DAtenbank, oder am Server oder waruan auch immer?
Hallo alkativo!
Woran kann das liegen? AN der DAtenbank, oder am Server oder waruan auch immer?
Weder noch.
Glaubs mir, es liegt _definitiv_ an Deinem Script.
Bau Debug-Ausgaben ein, vielleicht sieht man ja dann schon, wo's hängt.
MfG
Götz
yo,
immer wenn ich einen neuen DAtensatz eintragen will, kommen 2 raus. Woran kann da liegen?
hmm, bei oracle gibt es ein zeichen für befehlswiederholung das '/'. bei mysql bin ich mir nicht sicher, aber nimm doch mal das ';' aus dem mysql statement.
Ilja
Hallo Ilja!
hmm, bei oracle gibt es ein zeichen für befehlswiederholung das '/'. bei mysql bin ich mir nicht sicher, aber nimm doch mal das ';' aus dem mysql statement.
Also der ; steht auf jeden Fall nicht für Befehlswiederholung.
(Soweit ich weiß beendet ; einen Befehl. Auf http://dev.mysql.com/doc/mysql/en/Extensions_to_ANSI.html hab ich beim Überfliegen auch nicht von einem Wiederholungsbefehl gelesen)
MfG
Götz
Hi,
immer wenn ich einen neuen DAtensatz eintragen will, kommen 2 raus. Woran kann da liegen? Hier der Code:
Wie überprüfst Du das?
Ist die id-Spalte auto-increment?
Haben beide Exemplare der doppelten Datensätze dieselbe ID?
cu,
Andreas
hi,
$r_insert_abteilung = mysql_query("INSERT INTO
abteilungen(id,abteilung)VALUES ('', '$speicherfeld') ;");echo "<script>window.location.href="verzeichnis_neu_abtei.php";</script>";
und welchen code beinhaltet "verzeichnis_neu_abtei.php2, auf das du hier mit javascript weiterleitest ...?
gruß,
wahsaga