php.ini Einstellungen für SQLite-DB öffnen - Fehlermeldung

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

php.ini Einstellungen für SQLite-DB öffnen - Fehlermeldung

Postby thomy » 09. May 2013 09:56

Hallo zusammen

Kann mir evtl. hier in diesem Forum jemand im folgenden SQLite-Thema bezüglich dem Eröffnen einer DB aus dem PHP-Befehl helfen?


Nach der Installation von XAMPP, Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.4.7, wollte ich eine SQLite DB öffnen, bekam aber die folgende Meldung.
Fatal error: Call to undefined function sqlite3_open()

In den letzten Stunden fand ich darüber im Netz der einte und andere Eintrag. Es ging grundsätzlich immer um die folgenden beiden Punkte:
z.B. folgender Link: http://www.php.net/manual/de/sqlite.installation.php
1. die php.ini Einstellungen auf SQLite setzen -> "extension=php_sqlite.dll"
-> in meiner Steuerdatei, php.ini, ist es die extension=php_sqlite3.dll ... nehme ich an, oder?
2. PDO muss aktiv sein -> extension=php_pdo.dll
-> in meiner Steuerdatei, php.ini, ist es die "extension=php_pdo_sqlite.dll"... oder muss diese noch in die php-ini Datei eingefügt werden?

Mein php.ini hat folgende Einstellungen bezüglich SQLite, PDO und des Textes "extensio"
SQLite & extensio
; extension=msql.dll
; extension=msql.so
; extension=/path/to/extension/msql.so
;extension=php_mssql.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
;extension=php_pdo_sqlite_external.dll
;extension=php_pgsql.dll
extension=php_sqlite3.dll
;sqlite3.extension_dir =

phpinfo: SQLite3 support -> SQLite3 module version -> 0.7 / SQLite Library -> 3.7.7.1 / qlite3.extension_dir -> no value (Master & Local)

Muss hier was ändern?


PDO & extension
;extension=php_pdo_firebird.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
;extension=php_pdo_sqlite_external.dll

phpinfo.php: PDO Driver for SQLite 3.x -> SQLite Library -> 3.7.7.1

Muss (auch) hier etwas angepasst werden bzw. is die "extension=php_pdo.dll" einzufügen?


Im Voraus schon mal vielen Dank!


Es grüsst
Thomy
thomy
 
Posts: 24
Joined: 04. May 2013 12:04
Operating System: windows 7 64bit

Re: php.ini Einstellungen für SQLite-DB öffnen - Fehlermeldu

Postby Nobbie » 10. May 2013 10:24

Laut PHP Dokumentation http://www.php.net/manual/de/book.sqlite3.php gibt es keine Funktion mit dem Namen sqlite3_open().

Die sqlite3 Schnittstelle ist ausschließlich objektorientiert programmiert und es gibt nur eine Klasse sqlite3 mit der Methode sqlite3::open()
Nobbie
 
Posts: 13171
Joined: 09. March 2008 13:04

Re: php.ini Einstellungen für SQLite-DB öffnen - Fehlermeldu

Postby thomy » 13. May 2013 00:36

Hallo Nobbie

Danke für den Hinweis. Ich dachte, mit PHP5.x und SQLite3 funktioniert das Öffnen einer DB nur mit PDO. Aber mit deinem Hinweis und kurz suchen im Netz konnte ich neben dem PDO...
$dbh = new PDO('sqlite:FirstDBV1.db'#;
echo "SQLite successfully opened DB_V1 \n";

###auch dem folgenden Code eine DB eröffnen#
$db = new SQLite3#'FirstDBV2.db'#;
echo "SQLite successfully opened DB_V2 \n";


Danke und es grüsst dich
Thomas
thomy
 
Posts: 24
Joined: 04. May 2013 12:04
Operating System: windows 7 64bit

Re: php.ini Einstellungen für SQLite-DB öffnen - Fehlermeldu

Postby thomy » 13. May 2013 06:20

Hoi Nobbie

Noch kurz eine Verständnisfrage bezüglich der folgenden Dokumentation aus dem PHP-Manuel.
Für das Öffnen wird Folgendes beschrieben.
public void SQLite3::open ( string $filename [, int $flags = SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE [, string $encryption_key ]] )

Ich weiss, dass dies eine objekt orientierte Schreibweise ist, kann dies aber leider nicht zu einem konkreten Beispiel ableiten.

Kannst du mir evtl. kurz erklären, wie diese abzuleiten sind?


Danke und es grüsst dich
Thomas
thomy
 
Posts: 24
Joined: 04. May 2013 12:04
Operating System: windows 7 64bit

Re: php.ini Einstellungen für SQLite-DB öffnen - Fehlermeldu

Postby Nobbie » 13. May 2013 12:51

Auf der php.net Seite mit der Doku ist doch ein Beispiel:

http://www.php.net/manual/de/sqlite3.open.php (Sieht unten "Beispiele").


Im Prinzip funktioniert das genauso wie mit der Funktion, nur eben jetzt als Methode einer Klasse. wobei (im Unterschied zur Funktion) die Methode open() keinen Rückgabewert hat (bei der Funktion wird der Handle zur Datenbank zurückgegeben, das ist bei Klasse nicht unbedingt notwendig, da wird der entsprechende Handle mit ziemlicher Sicherheit in der Klasse nicht-public abgespeichert).

Code: Select all
<?php
     $database = "MeineDatenbank";

     $db = new sqlite3();
     $db->open($database);
?>


Man kann den open()-Schritt auch gleich implizit veranlassen, in dem man schon beim "new" den Datenbanknamen mitgibt, denn im Constructor der Klasse sqlite3 wird die entsprechende Datenbank gleich geöffnet, wenn man dort schon einen Datenbanknamen angegeben hat. Also sieht das Programm noch kürzer so aus:

Code: Select all
<?php
     $database = "MeineDatenbank";

     $db = new sqlite3($database);
?>
Nobbie
 
Posts: 13171
Joined: 09. March 2008 13:04

Re: php.ini Einstellungen für SQLite-DB öffnen - Fehlermeldu

Postby thomy » 14. May 2013 09:13

Hoi Nobbie

Da ich ein Neuling bin, danke ich dir vielmals für deine Erklärungen.

Gerne versuche ich es anhand deinen Beispielen und weiteren Angaben im Netz und Büchern meine SQLite-DB entsprechend aufzusetzen.


Es grüsst dich
Thomas
thomy
 
Posts: 24
Joined: 04. May 2013 12:04
Operating System: windows 7 64bit


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 53 guests