Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] PDO und Sqlite3 - kein Erstellen von Tabellen möglich

Einklappen

Neue Werbung 2019

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

  • [Erledigt] PDO und Sqlite3 - kein Erstellen von Tabellen möglich

    Hallo,

    ich habe ein sehr, meiner Meinung, nach kurioses Problem. Und zwar schaffe ich es nicht mittels PDO eine neue Tabelle in einer Sqlite3 Datenbank anzulegen.

    Das Skript ist im Grunde ganz einfach:

    PHP-Code:
    $db = new PDO('sqlite:/var/www/test/test.sqlite3');
    $db->exec("CREATE TABLE comments(id INTEGER PRIMARY KEY, articleid INTEGER, author CHAR(255), authorhomepage CHAR(255), authoremail CHAR(255), commentdate DATETIME);");
    $db null
    Es wird keine Fehlermeldung beim Aufruf ausgegeben. Wenn ich das gleiche Statement auf der Kommandozeile ausführe, wird die Tabelle ohne Probleme angelegt.
    Abfragen gegen die Datenbank, also bspw. ein SELECT funktionieren ohne Probleme.

    Hat jemand einen Tipp für mich, was ich falsch mache?

    Danke & Gruß


  • #2
    Dateirechte? Was gibt $db->exec() zurück? (var_dump)
    Ich hatte vor einigen Jahren mal das Problem, dass PDO nicht alle Befehle unterstützt hat (z.B. ALTER), evtl. das gleiche Problem?!
    "Mein Name ist Lohse, ich kaufe hier ein."

    Kommentar


    • #3
      Leider wird nur ein "false" zurückgegeben, also dass das Statement nicht erfolgreich. Das weiß ich ja leider auch schon selbst.

      Ich vermute ja auch schon fast, dass das CREATE mittels PDO nicht funktioniert, ich habe auch schon Varianten mit PREPARE und EXCUTE versucht, aber leider war bisher nichts erfolgreich.

      Eine konkrete Aussage, ob es geht oder nicht konnte ich noch nicht finden, allerdings steht im Grunde genau mein Beispiel in einem Tutorial (PHP Tutorials Examples Introduction to PHP PDO). Allerding bezieht es sich an dieser Stelle auf MySQL und nicht Sqlite.

      Dateirechte sollten auch kein Problem sein, weil ich schon 777 gesetzt habe.

      EDIT: Leider bin ich auf mich selbst reingefallen. Da ich die DB heute einmal neu erstellt habe, hatte ich noch nicht wieder chmod 777 durchgeführt. Gerade gemacht und siehe, schon kann ich auch ein CREATE TABLE erfolgreich durchführen.

      Kommentar


      • #4
        lass mal bitte das Semikolon IN deiner db->exec wech... das braucht man eigentlich immer nur bei kommandozeilen-tools
        "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste

        Kommentar

        Lädt...
        X