Vinzenz Mai: mysql_query statement

Beitrag lesen

Hallo,

ich habe die nachfolgende For-Schleife, welche mehrere mysql_query's duchführen soll.

for($i=1;$i<=$rows;$i++){

mysql_query("UPDATE lagerbestand SET Meldebestand = '".$_POST[mbestand][$i]."', Sicherheitsbestand = '".$_POST[sbestand][$i]."' WHERE KdArtikelNr = '".$_POST[art][$i]."'");
}

  

> Komischerweise wird immer der letzte query, also wenn gerade `$i=$rows`{:.language-php} ist, durchgeführt. Wo steckt der Fehler??  
  
1) im Fehlen der Fehlerbehandlung; ich vermisse das Prüfen des Rückgabewertes  
   von [mysql_query](http://de.php.net/manual/de/function.mysql-query.php),  
2) im Fehlen einer Debugausgabe (z.B. Deines SQL-Statements),  
3) in Deinem Zugriff auf Arrayelemente: [Why is $foo\\[bar\] wrong](http://www.php.net/manual/de/language.types.array.php#language.types.array.foo-bar),  
4) im Fehlen der [kontextgerechten Behandlung Deiner Eingabewerte](http://aktuell.de.selfhtml.org/artikel/php/kontextwechsel/),  
5) in der Verwendung der veralteten mysql\_\*-Funktionen statt der empfohlenen  
   [mysqli-Erweiterung](http://www.php.net/manual/de/book.mysqli.php); das hier wäre ein Fall für [prepared Statements](http://www.php.net/manual/de/mysqli.prepare.php),  
6) Bist Du Dir sicher, dass Du wirklich beim Index 1 anfangen willst?  
  
Das wäre das, was mir auf den ersten und zweiten Blick aufgefallen ist.  
  
  
Freundliche Grüße  
  
Vinzenz