Array von Daten in die DB schreiben

  • Hallo,
    ich habe ein Array so like this:

    Code
    Array
    (
        [name] => Wolf
        [tag] => 13.4.2014
        [ende] => 99.99.9999
    )


    Da dieses Array aber auch 100 Key's / Werte enthalten kann wollte ich das in die DB Schreiben automatisieren.
    Ich habe aber keine Ahnung wie ichs anstellen könnt, außer jedes mal ein neues Statement ausführen zu müssen..
    (Davon ausgegangen das für jeden möglichen Key eine Spalte mit dem exakt gleichen Namen zur Verfügung steht)


    Ich denke die Funktion für UPDATE ist ableitbar?


    Danke im Vorraus ;)

  • Kommt auf die Umstände an.
    Wenn Du 100% sicher sein kannst, dass alle Array-Keys auch als Datenbankspalte existieren,
    dann könntest Du:
    1. das Array nutzen, um die Query dynamisch zu erstellen
    oder
    2. das Array in eine fest geschriebene Query als Parameter-Array reinschicken (->execute([parameter]))


    zu 1. dynamisch (allerdings mit whitelist! denn wir wollen keine injections =)


    zu 2.
    Du bekommst beim laden (SELECT ...) die Spalten als Array-Keys.
    Dadurch müssen beim speichern (UPDATE...) die Keys auch wieder als Spalte funktionieren, WENN das Array nicht manipuliert wird(/werden kann).
    Irgendwo hast Du dann eine Funktion/Methode mit der fest geschriebenen Query stehen, und schickst das Array wieder als Parameter rein.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!