Entwickler-Ecke

Programmiersprachen (Server) - Probleme mit Insert-Statement (PHP)


JungerIslaender - So 30.08.09 23:08
Titel: Probleme mit Insert-Statement (PHP)
Vorweg ich hab keine Ahnung. ^^


Quelltext
1:
2:
3:
4:
5:
6:
7:
  $bestellung = $_POST["Bemerkungen"];
  $time = time();
  $time = date("H:i",$timestamp);
  $date = date("d.m.Y",$timestamp);

  $eintrag = "INSERT INTO konten WHERE user = $username; (bestellung, bestelldatum, bestellzeit) VALUES ('$bestellung', '$date', '$time')";
  $eintragen = mysql_query($eintrag);


funktioniert nicht ka warum. Login in db läuft hole andere daten aus der db. es wird einfach nix eingetragen und schon einiges probiert. Komm einfach nicht weiter.

Moderiert von user profile iconNarses: Titel geändert, war: "Wo ist der Fehler???(php)"
Moderiert von user profile iconChristian S.: Topic aus Off Topic verschoben am Mo 31.08.2009 um 20:20


jakobwenzel - So 30.08.09 23:19

Was soll dieser Code machen?
Ich vermute mal eine neue Zeile einfügen, aber was soll drinstehen?


BenBE - So 30.08.09 23:50

user profile iconJungerIslaender hat folgendes geschrieben Zum zitierten Posting springen:
Vorweg ich hab keine Ahnung. ^^

Vorweg: das sieht man. ^^

user profile iconJungerIslaender hat folgendes geschrieben Zum zitierten Posting springen:

Quelltext
1:
2:
3:
4:
5:
6:
7:
  $bestellung = $_POST["Bemerkungen"];
  $time = time();
  $time = date("H:i",$timestamp);
  $date = date("d.m.Y",$timestamp);

  $eintrag = "INSERT INTO konten WHERE user = $username; (bestellung, bestelldatum, bestellzeit) VALUES ('$bestellung', '$date', '$time')";
  $eintragen = mysql_query($eintrag);

Versuchs mal mit Lesen aus Variablen, die's auch gibt ...

Und wie im anderen Thread bereits erwähnt: Escaping und Prepared Statements bitte dringend verwenden!


Delete - Mo 31.08.09 11:04

Vielleicht sollte man zuallererst einmal die SQL-Syntax einhalten.

SQL-Anweisung
1:
INSERT INTO Tabelle(Feldliste) VALUES(Wertliste)                    

Beim INSERT gibt es keine WHERE-Klausel (wozu auch?). Und wenn es eine gäbe, würde sie ans Ende des o.a. Statements gehören.


JungerIslaender - Mo 31.08.09 16:07

Der code soll folgendes machen: Bestellung, datum, zeit in die tabelle konten bei einem bestimmten user reinschreiben. Durch den vorherigen Post, denke ich das ich statt insert dann wohl update nehmen muss.

Werde es auch direkt versuchen und mein Ergebnis posten.


Regan - Mo 31.08.09 16:15

user profile iconDeddyH hat folgendes geschrieben Zum zitierten Posting springen:
Vielleicht sollte man zuallererst einmal die SQL-Syntax einhalten.

SQL-Anweisung
1:
INSERT INTO Tabelle(Feldliste) VALUES(Wertliste)                    

Nicht zwingend, siehe MySQL Dokumentation [http://dev.mysql.com/doc/refman/5.1/de/insert.html].


Delete - Mo 31.08.09 16:18

Da kann ich von einer WHERE-Klausel trotzdem nichts entdecken.


Regan - Mo 31.08.09 17:46

:oops: Ich dachte, da steht ein SET. Na dann geht das natürlich nicht ;) .


JungerIslaender - Mo 31.08.09 19:13

Jo funktioniert. DANKE FÜR EURE HILFE WAR ECHT AM VERZWEIFELN!

Quelltext
1:
2:
3:
  $aendern = "UPDATE konten Set
  bestellung = '$bestellung' WHERE user = '$username'";
  $update = mysql_query($aendern);


Yogu - Sa 05.09.09 22:56

user profile iconJungerIslaender hat folgendes geschrieben Zum zitierten Posting springen:

Quelltext
1:
2:
$time = time();
$time = date("H:i",$timestamp);

:gruebel:


BenBE - Sa 05.09.09 23:49

user profile iconJungerIslaender hat folgendes geschrieben Zum zitierten Posting springen:
Jo funktioniert. DANKE FÜR EURE HILFE WAR ECHT AM VERZWEIFELN!

C#-Quelltext
1:
2:
3:
  $aendern = "UPDATE konten Set
  bestellung = '
$bestellung' WHERE user = '$username'";
  $update = mysql_query($aendern);


http://xkcd.com/327/ ... BITTE unbedingt escapen, sonst hast Du daran nicht lange Freude ;-)

user profile iconYogu hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconJungerIslaender hat folgendes geschrieben Zum zitierten Posting springen:

Quelltext
1:
2:
$time = time();
$time = date("H:i",$timestamp);

:gruebel:


Darauf hab ich schon vor längerer Zeit hingewiesen ...