pdo sqlite db-file öffnen

lordg2009

Lt. Commander
Registriert
Apr. 2009
Beiträge
1.552
Hi,

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?
 
Du lieferst zu viele Informationen, um dir helfen zu können. Lass doch bitte noch mehr wichtige Dinge weg und frag nochmal.
 
OK,

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 = new PDO('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();
}

Seht ihr einen Fehler, bin gerade echt ratlos.
 
Zuletzt bearbeitet:
Danke für den Link, den hatte ich auch schon mal gefunden, aber ich denke, es passt, wenn er hier im Thread landet.

Habe jetzt den Tip mit der DB im gleichen Ordner wahrgenommen und das print_r berichtigt, sowie den setAttribute Befehl für die Exeptions hinzugefügt.

Die Fehlermeldung ist nun folgende:
Code:
Error!: SQLSTATE[HY000]: General error: 14 unable to open database file

Per sqlite3 command-line tool kann ich aber darauf zugreifen.
 
Klingt nach Problemen mit der Dateiberechtigung. Schau mal nach, ob das Script die Datei aufrufen darf.
 
Unwahrscheinlich, habe Besitzer und Gruppe auf www-data gesetzt.
 
Zurück
Oben