• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] SQLite statt MySQL in PHP

J

j-l-n

Guest
Bisher habe ich für Datenbanken immer MySQL verwendet.
Nun allerdings möchte ich in einem Projekt eine SQL-Datei stattdessen nutzen, da man diese z.B. sehr einfach kopieren kann usw.
Jetzt stehe ich allerdings vor einem Rätsel: Wie kann ich in PHP eine SQL-Datenbank öffnen, in sie schreiben usw.? Weil Befehle ala mysql_connect sind ja für MySQL...
Suche nun schon länger, aber ich finde bisher immer nur Ergebnisse für MySQL Datenbanken.
 
AW: SQL statt MySQL verwenden

SQL-Datei? Meinst du SQLite? Alle anderen SQL Varianten, die ich kenne, arbeiten mit einem Server - so wie auch MySQL.

SQLite ist in PHP schon integriert: PHP: SQLite - Manual
 
AW: SQL statt MySQL verwenden

Schau dir doch mal Storable.php an. Das scheint eine Art Klasse/Modul für PHP zu sein, womit man in einer Datei datenbankähnlich arbeiten kann.

Geht es überhaupt um PHP?
 
Zuletzt bearbeitet:
AW: SQL statt MySQL verwenden

Dieses Storable scheint aber noch nicht fertig zu sein, da die Methode getDefaultInstance, die anscheinend die Hauptarbeit erledigt, noch gar nicht implementiert ist...

Oben schreibt Julian von PHP, deswegen bin ich davon ausgegangen.
 
AW: SQL statt MySQL verwenden

Danke euch, jetzt ist mir wieder das eingefallen, was ich so verzweifelt gesucht habe. Irgendwie stand ich total auf dem Schlauch... ;)
 
AW: SQL statt MySQL verwenden

Das von kkapsner mit SQLite...
Das hört sich jetzt blöd an, aber mir wollte dieser Name verdammt noch mal nicht einfallen ;) Ich hab die ganze Zeit verzweifelt nach SQL gesucht und natürlich nur MySQL gefunden. :D
 
Zuletzt bearbeitet:
AW: SQL statt MySQL verwenden

@mikdoe: Danke für Änderung des Threadtitels :)
Edit: Hätte irgendwer das Talent dazu, ein Skript mit MySQL so umzuschreiben, dass genau das gleiche passiert, bloß eben mit SQLite?
 
Zuletzt bearbeitet:
Titel ist geändert (etwas kürzer als von dir vorgeschlagen).

Inhaltlich müsstest du dich vermutlich durch die Doku ackern. Kkapsner hat sie verlinkt.
Beginnen würde ich mit sqlite_open(), das hier erklärt ist sogar mit Beispiel: PHP: sqlite_open - Manual
Oder sqlite_factory(), das gibt dann ein Objekt zurück anstatt einer Resource. Je nach dem, wie du lieber arbeitest.
 
Ich habe nun statt mysql_connect das sqlite_open verwendet. Doch nicht einmal das funktioniert:
Fatal error: Call to undefined function sqlite_open() in test.php on line 2

Kennt sich den keiner mit SQLite aus und kann mir helfen, das obige Skript umzuschreiben? Ich bekomme das partout nicht hin... :(
 
PDO ist die moderne Schnittstelle für PHP, sowohl für SQLite, MySQL und und..
Unter den Schlagworten sqlite pdo php example findest du x-Beispiele. Und ja, ich habe SQlite schon öfters benutzt.

LG jspit
 
Zuletzt bearbeitet:
In der Doku steht:
Wenn unter Linux oder anderen Unixsystemen PDO als Shared Extension erstellt wurde, so muss auch SQLite mit Hilfe der --with-sqlite=shared-Konfigurationsoption als Shared Extension erstellt werden.
Ist das bei dir gegeben?

Nein, ich kenne niemanden, der das nutzt, den du fragen kannst. Tut mir leid.
Und hier im Forum arbeiten - soweit ich weiß - alle mit echten Datenbanken.
Sonst vielleicht mal in einem PHP Forum fragen?
 
Gut, danke euch trotzdem. Ich schau dann mal, ob ich irgendwo noch eine Lösung finde, wenn nicht, ist auch nicht so schlimm . :)
 
Die MySQL-Erweiterung für PHP ist unter PHP 5.5 als deprecated eingestuft. Sie sollte nicht mehr bei neuen Projekten benutzt werden.

Deprecated features in PHP 5.5.x
ext/mysql deprecation

The original MySQL extension is now deprecated, and will generate E_DEPRECATED errors when connecting to a database. Instead, use the MySQLi or PDO_MySQL extensions.

PDO bedient sowohl die MySQL-DB als auch SQLite. Ich kann dir nur dringend empfehlen, nimm PDO !
Wenn du irgendwann auf eine MySQL-DB umsteigen möchtest, hast du mit PDO die geringste Arbeit.

LG jspit
 
@Julian: die Domain, unter der du das Bild bereitgestellt hast, ist nicht erreichbar...
Auch ich würde dir zu PDO raten. Wenn du damit konkrete Probleme hast, kannst du dich ja nochmal melden.
 
Zurück
Oben