ich möchte gerne eine Datenbank mittels pdo in php einlesen. Die Datenbank liegt als lokale *.db Datei auf der Festplatte vor und braucht weder Benutzer noch Passwort.
Wie kann ich ein PDO-Objekt von einer DB erstellen, deren Datei auf der HDD liegt?
Ich habe Plex als Streaming-Server installiert. Plex scannt die Filme und lädt automatisch metadaten herunter, die in einer sqlite Datenbank abgespeichert werden. Die DB liegt als Datei auf der Festplatte im Plex-Verzeichnis vor. Da ich mit den Filterfunktionen, die Plex anbietet nicht ganz zufrieden bin, würde ich gerne selbst ein php-Skript schreiben, welches Informationen aus der Datenbank hohlt und filtert.
Bis jetzt habe ich immer mit mysql und selbsterstellten DBs gearbeitet, wo man einfach nur eine Verbindung zum Namen der Datenbank herstellen muss.
Nun würde ich gerne eine Verbindung zu besagter sqlite DB herstellen um Daten auslesen zu können. Das ganze wollte ich mit der PHP Data Objects-Erweiterung (PDO) realisieren. Nur weiß ich nicht, wie ich eine Verbindung zu einer Datei herstelle.
Ach ja klar, sry Leute. Stellt sich wirklich als dumme Frage heraus.
Ergänzung ()
Ich komm noch nicht so ganz zu Recht. Könnt ihr mal einen Blick auf meinen Code werfen, das Skript bricht immer bei der execute-Funktion ab und zeigt keinen Fehler an
PHP:
try{$dbh=newPDO('sqlite:/home/com.plexapp.plugins.library.db','','');$stmt=$dbh->prepare("SELECT * FROM metadata_items");$stmt->execute();$result=$stmt->fetchAll();prnt_r($result);$stmt=null;$db=null;}catch(PDOException $e){print"Error!: ".$e->getMessage()."<br/>";die();}
Das Script funktioniert. Wahrscheinlich ist aber der Connection-String falsch. Leg die .db-Datei einfach in den gleichen Ordner, in dem auch dein Script läuft und gib nur "sqlite:com.plexapp.plugins.library.db" an. Außerdem hast du dich bei "print_r" verschrieben.