PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP und SQLite


M@tes
2010-12-06, 11:37:52
Hallo zusammen!
Bin mich grad mit SQLite und PHP am rumprügeln. Hab mir dazu mit folgendem Programm eine Datenbank erstellt:
http://portableapps.com/apps/development/sqlite_database_browser_portable
Das Programm arbeitet anscheinend mit SQLLite engine 3.3.5
Nun wollte ich die Datei in einem PHP-Script einbinden, bekomme aber immer folgende Meldung: "file is encrypted or is not a database".
Nun benutze ich als Webserver XAMPP 1.73. Laut Homepage ist da SQLite 2.8.17 & SQLite 3.6.20 enthalten.
Wo liegt da jetzt das Problem? Sind die Versionen untereinander nicht kompatibel?
Das tät die Sache nicht grade einfacher machen, da ich die Datenbank eigentlich auch ins Excel integrieren wollte :-/
Kennt sich da jemand einwenig mit aus??
Hier das Beispielscript:
<?php
try
{
//create or open the database
$database = new SQLiteDatabase('test.sql', 0666, $error);
}
catch(Exception $e)
{
die($error);
}

//read data from database
$query = "SELECT * FROM nummern WHERE id='123'";
if($result = $database->query($query, SQLITE_BOTH, $error))
{
while($row = $result->fetch())
{
print("Title: {$row['id']} <br />" .
"Director: {$row['bezeichnung']} <br />".
"Year: {$row['typ']} <br /><br />");
}
}
else
{
die($error);
}
?>


/edit: Ok anscheinend nutzt XAMPP SQLLite 2.8.17. Wie kann ich auf die 3.6.20 wechseln? Das sollte doch gehn oder?

RattuS
2010-12-06, 15:44:23
AFAIK ist die Datenbank entweder SQLite2- oder SQLite3-kompatibel. Es liegt also nur am Provider und nicht an dem Tool, mit dem du die Datenbank erstellst.

M@tes
2010-12-06, 16:25:21
Nach deine Antwort hats auf einmal Sinn gemacht, warum 2 SQLite Versionen installiert sind.
Hab mich drum nochmal schlau gemacht und siehe da: Die 3er Version nutzt in PHP eine ganz andere Codebasis.
Habs jetzt zumindest mit Hilfe von PHP hinbekommen. Mit Excel steh ich allerdings immernoch an :/
Hab dafür extra sqliteodbc_w64 installiert. Abr irgendwie bekomme ich kein Zugriff drauf :(

DanMan
2010-12-06, 16:45:27
RattuS hats ja schon gesagt.

Ich möchte noch anmerken: nimm wenn möglich PDO (http://de2.php.net/manual/de/intro.pdo.php). Damit bist du flexibler (http://de2.php.net/manual/de/pdo.drivers.php).
Außerdem könnte das für dich interessant sein: https://addons.mozilla.org/de/firefox/addon/5817/

M@tes
2010-12-06, 17:09:06
Mhh das mitm PDO ist n guter Hinweise, danke!
Prügel mich grad mit http://sqliteforexcel.codeplex.com rum. Scheint soweit zu funktionieren, aber irgendwie find ich keine Speicherfunktion. Im Gegenteil, er löscht mir immer die ausgewählte Datenbank ;p