Veröffentlicht 24. November 200321 j Hallo, ich habe eine (My)SQL-Abfrage mit PHP, die folgendermaßen lautet: $einfuegen = mysql_query("INSERT INTO newdata (ind_flt, feld1, feld2, feld3, feld4) VALUES ('$zeile["ind_flt"]', '$zeile["feld1"]', '$zeile["feld2"]', '$zeile["feld3"]', '$zeile["feld4"]')"; [/PHP] Für die Zeile VALUES... bekomme ich die Fehlermeldung "Parse error: parse error, unexpected "", expecting T_STRING or T_VARIABLE or T_NUM_STRING in Line ... Weiß jemand, was ich da falsch mache? Danke+Gruß etops
24. November 200321 j Original geschrieben von etops Weiß jemand, was ich da falsch mache? Yep, Du arbeitest mit " in einem String, der durch " begrenzt ist. Besser wäre: $einfuegen = mysql_query("INSERT INTO newdata (ind_flt, feld1, feld2, feld3, feld4) VALUES ('".$zeile["ind_flt"]."', '".$zeile["feld1"]."', '".$zeile["feld2"]."', '".$zeile["feld3"]."', '".$zeile["feld4"]."')"; [/PHP] ICQ
24. November 200321 j jap oder du weisst eben am anfang jeder wert ner eigenen variable zu was wohl nicht das beste wäre was *gg* aber es würde gehen sprich $feld1 = $zeilen["feld1"]; und dann kannst es ja mit '$feld1' reinschreiben :bimei
24. November 200321 j Also ich benutze für SQL-Statements ganz gerne sprintf. Da setzt Du einfach nur Platzhalter an die Stelle, wo Du Deine Variablen einsetzen möchtest und listest die eigentlichen Variablen nur noch am Ende auf. Der große Vorteil dabei ist, daß es deutlich übersichtlicher ist, als wenn Du alles hintereinander weg schreibst und sich somit Fehler leichter finden lassen. Ordentlich eingerückt sieht es natürlich deutlich übersichtlicher aus. $SQL = sprintf("INSERT INTO newdata ( ind_flt, feld1, feld2, feld3, feld4) VALUES ('%s', '%s', '%s', '%s', '%s') ", $zeile["ind_flt"], $zeile["feld1"], $zeile["feld2"], $zeile["feld3"], $zeile["feld4"]); $einfuegen = mysql_query($SQL);
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.