Hilfe, finde den Fehler nicht[Arrayverarbeitung]

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Hilfe, finde den Fehler nicht[Arrayverarbeitung]

    Moin Leute,

    ich bastele gerade an einer Klasse, bei der als Parameter einer Methode ein assoziatives Array übergeben wird. Die Keys sollen dabei den Spalten-Namen einer SQL-Tabelle entsprechen, und die Values eben die Werte für jene Tabellen enthalten.

    Da die Anzahl der Spalten/Werte variabel sein soll muss ja dynamisch das Query generiert werden. Es handelt sich hierbei um ein INSERT. z.B.

    INSERT INTO table ( col1, col2, col3 ) VALUES ('val1', 'val2', 'val3')

    Nun soll aus dem Array das "col1, col2, col3" und das " 'val1', 'val2', 'val3' " generiert und die Variablen $cols und $values gespeichert werden.

    Dabei ist zu beachten, dass nach dem letzten Col/Wert ja kein Komma mehr hinten dran muss.

    Probiert habe ich das wie folgt:

    PHP-Code:
    <?php

    $count 
    sizeof($data);
    $keys array_keys($data);
    $values array_values($data);

    $cols ' ';
    $values ' ';
            
    for(
    $i 0$i < ( $count ); $i++){
                
        
    $cols .= $keys[$i] . ', ';
        
    $values .=  "'" $values[$i] . "', " ;
                
        }
            
        
    $cols .= $keys[$count 1];
        
    $values .= " ' " $values[$count 1] . " ' ";
            
    ?>
    Bei $cols klappt das wunderbar so wie es soll. Bei $values sind allerdings immer nur durch Kommata getrennte Hochkommata drin, ohne die Werte in der Mitte.

    Ich verstehe bloß nicht wieso. Es wird kein Error geworfen ( Ja, Error-Reporting is oben ) und ein ausgeben aller Arrays mit print_r zeigt auch, dass dort alle Werte wie gewollt vorhanden sind.

    Ich häng da nun schon seit 20 Minuten drüber und habe absolut keine Ahnung wieso das nicht funktioniert.

    Ich danke für jede Hilfe!

    Greetz,
    Nohfreak
    Mein aktuelles Projekt: Hausaufgaben Datenbank für kostenlose Hausaufgaben

  • #2
    $values ist zwei Mal in Benutzung.
    Einmal als String und einmal als Array.

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      Arg. Verdammt bin ich dämlich. *Brett vom Kopf wegnehm*

      Ich danke dir.
      Mein aktuelles Projekt: Hausaufgaben Datenbank für kostenlose Hausaufgaben

      Kommentar

      Lädt...
      X