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

dbDelta() funktioniert nicht

Dieses Thema im Forum "Plugins und Widgets" wurde erstellt von jl2424, 11. September 2010.

  1. jl2424

    jl2424 Member

    Registriert seit:
    4. Februar 2009
    Beiträge:
    14
    Zustimmungen:
    0
    Ich fange gerade an, mein erstes WP-Plugin zu schreiben (genauer gesagt um hierfür eine Lösung zu entwickeln). Dazu benötige ich ein paar eigene Datenbanktabellen, die ich in einer Installationsroutine erzeugen und natürlich genauso wiederum in einer Deinstallationsroutine wieder entfernen möchte.

    Hier auf WP.org wird dies bezüglich empfohlen, die Funktion dbDelta($sql) dazu zu verwenden. Das tue ich dann auch, treffe aber auf folgende Probleme:

    1. Installation: Von meinen drei CREATE TABLE-Anfragen wird offenbar nur eine ausgeführt. Jedenfalls sehe ich nach aktivieren meines Plugins nur eine neue Datenbanktabelle per PhpMyAdmin. Die anderen beiden, die eigentlich auch angelegt werden sollten, fehlen.
    2. Deinstallation: Beim Löschen meines Plugins sollten die zuvor angelegten Tabellen eigentlich alle sauber wieder gelöscht werden. Allerdings passiert das nicht. Die Deinstallationsroutine läuft aber definitiv, da wiederum ein per delete_option($str) zu entfernender Konfigurationswert definitiv aus der Datenbank wieder verschwunden ist.

    Hier mein Code (Kommentare zwecks Übersichtlichkeit gelöscht):

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  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