Array: Einfügen in und Auslesen aus einer Datenbank mit dbDelta

  • Hallo Ihr,

    ich möchte ein Array in einem DB-Datensatz abspeichern und es wieder in eine Array-Variable auslesen.
    Mit update/get_option() kann einfach eine Array-Variable verwendet werden. Wie funktioniert das mit dbDelta ?

    maksimilian

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren


  • ich möchte ein Array in einem DB-Datensatz abspeichern und es wieder in eine Array-Variable auslesen.
    Mit update/get_option() kann einfach eine Array-Variable verwendet werden. Wie funktioniert das mit dbDelta ?

    müssen wir dir wirklich das PHP Handbuch hier vorlesen?


    Verbindet Array-Elemente zu einem String
    http://php.net/manual/de/function.implode.php


    http://php.net/manual/de/function.explode.php

    Mit offenen Augen träumen

  • Ergänzend möchte ich noch bemerken:
    Selbstverständlich kann ich das Array vor dem Schreiben in die DB in einem String aufbereiten (so dass Array-Key und zugeordneter Wert erhalten bleiben) und das Ganze beim Auslesen rückwärts durchführen. Aber es gibt ja (mit PHP) vielleicht eine einfachere Methode.

  • Das Zauberwort ist hier wohl json du kannst es mit PHP in einen JSON String serialisieren(json_encode/_decode) und nachher wieder umwandeln. Auch YAML(yaml_parse) und XML(SimpleXMLElement) würde wahrscheinlich funktionieren.

    Gesendet von meinem ONE A2003 mit Tapatalk

    Einmal editiert, zuletzt von Michael_Drauer (16. Mai 2017 um 23:44)

  • Das Zauberwort ist hier wohl json du kannst es mit PHP in einen JSON String serialisieren(json_encode/_decode)

    vermutlich nur nicht in WordPress, weil WordPress natürlich nicht im JSON-Format speichert, sondern eben serialisierte Strings verwendet.

    Mit offenen Augen träumen

  • .
    Nein, muss mir nicht vorgelesen werden. implode() beseitigt die Array-Keys, was in meinem Fall kontraproduktiv ist.

    und? habe ich eine Glaskugel? Und Google scheint bei dir auch nicht zu funktionieren?

    also lese ich dir vor:

    /*
    Eine etwas besser Lösung, die fast immer funktioniert aber nicht für alle Fälle optimal ist, wäre eine Serialisierung des Arrays oder Objekts. Hierbei werden die Daten mit der serialize() Funktion in einen String konvertiert und können somit direkt in eine VARCHAR oder TEXT Spalte speichert werden. Dabei muss der String natürlich noch durch die Funktion real_escape_string() (in diesem Beispiel von der MySQLi Klasse) “escaped” werden.
    */

    Zitat von:
    https://kau-boys.de/643/webentwick…nbank-speichern

    Mit offenen Augen träumen

    Einmal editiert, zuletzt von r23 (17. Mai 2017 um 01:16)

  • @ r23 #7

    Ich verkneife mir mal einen Kommentar zur Polemik und bedanke mich artig für den Link im Zitat. Jetzt verstehe ich, wie update/get_option() Arrays verarbeiten. Diese serialisierte Nomenklatur hatte ich ja bereits in der Datenbank gesehen, konnte sie bisher aber nicht zuordnen.

Jetzt mitmachen!

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