dedlfix: zweiter Wert speichern

Beitrag lesen

Tach!

Bei solchen Konstrukten merkst du spätestens bei debuggen, dass sie schöner geschrieben werden sollten. Gerade wenn du einen String hast, denn du immer wieder manipulierst, solltest du den String in eine Variable packen bzw. den Code auf mehrere Zeilen aufteilen. Dann kannst du zwischen jede Zeile ein echo (oder andere Ausgabe Mechanismen) packen und gucken wie die Variable gefüllt wird.

$strInsert = "Insert into entfernung set ef_in_ID = '".$Id;

$strInsert .= "', ".implode(',',$_data[$_counter]);
mysql_query( $strInsert );

  
Ich plädiere für sprintf(). Da notiert man die festen Bestandteile des Strings übersichtlich am Stück, mit ein paar kleinen Platzhaltern drin, Die variablen Teile kommen dann als Parameter hintendran (oder zeilenweise untendrunter, wenns der Lesbarkeit dient). Dass der Statement-String stückweise nachvollziehbar entsteht, halte ich nicht für wichtig. Wichtig ist nur, dass man im fertigen String die Stellen mit den Syntaxfehlern erkennt und dem dazugehörigen Erzeuger zuordnen kann. Es ist entweder im feststehenden Teil, der ja (hoffentlich) übersichtlich notiert ist, oder einer der Platzhalter, den man anhand der Position des Fehlers leicht finden sollte.  
  

> Das kostet natürlich ein wenig mehr Arbeitsspeicher,  
  
Es kostet noch deutlich mehr, nämlich im Falle eines Falles auch mal echtes Geld, wenn man die Sicherheit vernachlässigt und das kontextgerechte Behandeln der Werte beim Einfügen in das SQL-Statement unterlässt (und auch nicht auf Prepared Statements setzt).  
  
  
dedlfix.