kostenloser Webspace werbefrei: lima-city


Verbindung zu SQLite-Datenbank

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    das-koenigreich

    das-koenigreich hat kostenlosen Webspace.

    Ich möchte eine Verbindung zu einer SQLite-Datenbank herstellen. Die Datenbankdatei (mit einem SQLite-Datenbank-Verwaltungsprogramm mit GUI erstellt) liegt im selben Verzeichnis. Die Variable $password ist leer, weil ich ja kein Passwort dafür habe. Der Code
    $var = new PDO('sqlite:'.$file, $password);
    wirft den Fehler
    Connection failed: could not find driver
    Was muss anders machen?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. das-koenigreich schrieb:
    Ich möchte eine Verbindung zu einer SQLite-Datenbank herstellen. Die Datenbankdatei (mit einem SQLite-Datenbank-Verwaltungsprogramm mit GUI erstellt) liegt im selben Verzeichnis. Die Variable $password ist leer, weil ich ja kein Passwort dafür habe. Der Code
    $var = new PDO('sqlite:'.$file, $password);
    wirft den Fehler
    Connection failed: could not find driver
    Was muss anders machen?


    Heißt dein sqlite Server denn auch 'sqlite' ??
    Hier auf Lima gibts ja nur beipiel

    'ftp.lima-city.de'
    'mysql.lima-city.de'
    'download.lima-city.de'
  4. Autor dieses Themas

    das-koenigreich

    das-koenigreich hat kostenlosen Webspace.

    SQLite ist nicht MySQL. SQLite ist eine einzige Datei (so habe ich das zumindest verstanden) in der alle Datenbanktabellen und -Einträge gespeichert werden. Mit Lima hat das nichts zu tun. Das Script liegt außerdem auf meinem Rechner und nicht bei Lima.
  5. das-koenigreich schrieb:
    SQLite ist nicht MySQL. SQLite ist eine einzige Datei (so habe ich das zumindest verstanden) in der alle Datenbanktabellen und -Einträge gespeichert werden. Mit Lima hat das nichts zu tun. Das Script liegt außerdem auf meinem Rechner und nicht bei Lima.


    Sorry ich hab sowieso falsch geschaut.. Ich hatte gelesen:
    Connection failed: could not find driver

    Obwohl da ja steht:
    Connection failed: could not find driver

    Und damit ist dein Problem auch schon im Ansatz gelöst und zwar fehlt dir der Treiber :P


    Les dir doch das hier mal durch

    Da wird dir die Installation von POD SQLITE beschrieben ;)
  6. Autor dieses Themas

    das-koenigreich

    das-koenigreich hat kostenlosen Webspace.

    Also in /etc/php5/conf.d/pdo.ini steht bei mir nur
    ; configuration for php PDO module
    extension=pdo.so
    Das ist der komplette Inhalt.

    Ich nutze übrigens PHP von der Kommandozeile.
  7. das-koenigreich schrieb:
    Also in /etc/php5/conf.d/pdo.ini steht bei mir nur
    ; configuration for php PDO module
    extension=pdo.so
    Das ist der komplette Inhalt.

    Ich nutze übrigens PHP von der Kommandozeile.


    Hier steht doch alles:

    Also as a side note, to get SQLite compiled as a PDO, I had to:

    1) configure with
    ...
    --enable-pdo=shared \
    --with-sqlite=shared \
    --with-pdo-sqlite=shared
    --with-zlib
    ... \
    'make && make install' if configure is successful.

    2) Make sure the pdo libs were copied/installed to the correct directory. On my installation it was /usr/local/include/php/ext/pdo/

    3) Make these changes in my php.ini:
    - change ' extension_dir = "./" ' to ' extension_dir="/usr/local/include/php/ext/pdo/" '
    - add/edit in this order:
    extension=pdo.so
    extension=pdo_sqlite.so
    extension=sqlite.so

    4) test php with : 'php -m' at the command line and solve any issues from there. Mostly php.ini config issues. Also restart the http service!


    Auf Deutsch:

    1) Configuration (das was da steht in Konsole eingeben)
    2) Pfad korrigieren
    3) php.ini bzw. bei dir jetzt 'pdo.ini' erweitern mit den oben genannten Zeilen
    4) ist nur ein Test, kann man auslassen!
  8. Autor dieses Themas

    das-koenigreich

    das-koenigreich hat kostenlosen Webspace.

    Ich habe bis jetzt nur php5 und php5-cli installiert (und außerdem mal LAMPP benutzt, das muss man unter Linux aber nicht installieren), trotzdem kann ich PDO für MySQL nutzen. Das funktionierte einfach so. Wen ich
    php -m
    eingebe, kommt das:
    $ php -m
    [PHP Modules]
    bcmath
    bz2
    calendar
    Core
    ctype
    date
    dba
    dom
    ereg
    exif
    fileinfo
    filter
    ftp
    gettext
    hash
    iconv
    json
    libxml
    mbstring
    mhash
    openssl
    pcntl
    pcre
    PDO
    Phar
    posix
    readline
    Reflection
    session
    shmop
    SimpleXML
    soap
    sockets
    SPL
    standard
    sysvmsg
    sysvsem
    sysvshm
    tokenizer
    wddx
    xml
    xmlreader
    xmlwriter
    zip
    zlib
    
    [Zend Modules]
    Da ist also auch PDO (in der Mitte) dabei.
  9. das-koenigreich schrieb:
    Ich habe bis jetzt nur php5 und php5-cli installiert (und außerdem mal LAMPP benutzt, das muss man unter Linux aber nicht installieren), trotzdem kann ich PDO für MySQL nutzen. Das funktionierte einfach so. Wen ich
    php -m
    eingebe, kommt das:
    $ php -m
    [PHP Modules]
    bcmath
    bz2
    calendar
    Core
    ctype
    date
    dba
    dom
    ereg
    exif
    fileinfo
    filter
    ftp
    gettext
    hash
    iconv
    json
    libxml
    mbstring
    mhash
    openssl
    pcntl
    pcre
    PDO
    Phar
    posix
    readline
    Reflection
    session
    shmop
    SimpleXML
    soap
    sockets
    SPL
    standard
    sysvmsg
    sysvsem
    sysvshm
    tokenizer
    wddx
    xml
    xmlreader
    xmlwriter
    zip
    zlib
    
    [Zend Modules]
    Da ist also auch PDO (in der Mitte) dabei.


    Es geht ja weder um PDO noch um Mysql es geht um PDO Sqlite ;)
  10. Fakt ist: SQLite geht sowohl mit, als auch ohne PDO hier auf Lima-City.

    <?php
    try {
    	$db = new PDO('sqlite:dbTest_PDO.sqlite');
        $db->exec("CREATE TABLE Testtable (Id INTEGER PRIMARY KEY, Title TEXT, Text TEXT)");
        $db->exec("INSERT INTO Testtable (Title, Text) VALUES ('Hello World', 'Dies ist der 1. Test');".
                   "INSERT INTO Testtable (Title, Text) VALUES ('Bye World', 'Noch ein Test');");
    
        print "<table border=1>";
        print "<tr><td>Id</td><td>Title</td><td>Text</td>";
        $result = $db->query('SELECT * FROM Testtable');
        foreach($result as $row) {
    		print "<tr><td>".$row['Id']."</td>";
    		print "<td>".$row['Title']."</td>";
    		print "<td>".$row['Text']."</td>";
        }
    	print "</table>";
    
        $db = NULL;
    }
    catch(PDOException $e) {
    	print 'Exception : '.$e->getMessage();
    }
    ?>


    Funktioniert problemlos. Dein Fehler: Es gibt kein Passwort für SQLite Datenbanken. Dementsprechend gehört der Parameter dort nicht hin.

    Beitrag zuletzt geändert: 17.6.2011 17:30:47 von fabo
  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!