1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

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

Dieses Thema im Forum "Plugins und Widgets" wurde erstellt von maksimilian, 16. Mai 2017.

  1. maksimilian

    maksimilian Well-Known Member

    Registriert seit:
    3. Februar 2015
    Beiträge:
    114
    Zustimmungen:
    0
    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
     
  2. r23

    r23 Well-Known Member

    Registriert seit:
    9. Dezember 2006
    Beiträge:
    7.361
    Zustimmungen:
    589
    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
     
  3. maksimilian

    maksimilian Well-Known Member

    Registriert seit:
    3. Februar 2015
    Beiträge:
    114
    Zustimmungen:
    0
  4. maksimilian

    maksimilian Well-Known Member

    Registriert seit:
    3. Februar 2015
    Beiträge:
    114
    Zustimmungen:
    0
    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.
     
  5. Michael_Drauer

    Michael_Drauer Well-Known Member

    Registriert seit:
    14. November 2015
    Beiträge:
    212
    Zustimmungen:
    0
    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
     
    #5 Michael_Drauer, 16. Mai 2017
    Zuletzt bearbeitet: 16. Mai 2017
  6. r23

    r23 Well-Known Member

    Registriert seit:
    9. Dezember 2006
    Beiträge:
    7.361
    Zustimmungen:
    589
    vermutlich nur nicht in WordPress, weil WordPress natürlich nicht im JSON-Format speichert, sondern eben serialisierte Strings verwendet.
     
  7. r23

    r23 Well-Known Member

    Registriert seit:
    9. Dezember 2006
    Beiträge:
    7.361
    Zustimmungen:
    589
    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/webentwicklung/arrays-und-andere-komplexe-daten-mit-php-in-einer-mysql-datenbank-speichern
     
    #7 r23, 17. Mai 2017
    Zuletzt bearbeitet: 17. Mai 2017
  8. maksimilian

    maksimilian Well-Known Member

    Registriert seit:
    3. Februar 2015
    Beiträge:
    114
    Zustimmungen:
    0
    @ 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.
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden