Hans Wurst: SQLite, komme einfach nicht weiter...

Guten Morgen an alle,
ich komme bei meinem Problem einfach nicht weiter, vielleicht weil ich mich mit SQLite nicht auskenne, vielleich aber auch weil ich SQL nicht mag :) das überlasse ich lieber der SQL Abteilung...

Ich versuche eine Verbindung via PHP mit der SQLite DB herzustellen, zum Teil klappt es auch, aber ich kann keine Statements abgeben, und hier kommt ihr ins Spiel, ich bitte um Hilfe.

Infos (laut PHP-Info):
PHP Version 5.2.10
SQLite Library 2.8.17

Hier mein Versuch:

<?php  
 error_reporting(E_ALL);  
 ini_set("display_errors", true);  
  
 $db = sqlite_open("exampleDB") or die ("Verbindung zur Datenbank konnte nicht hergestellt werden!");  
  
 $qu = sqlite_query($db, "SELECT * FROM Kunde WHERE Vorname='Peter'") or die ("Da ging wohl was schief");  
  
 sqlite_close($db);  
?>

Die Verbindung zur DB wird hergestellt, aber mehr auch nicht.
-----------------------
Warning: sqlite_query() [function.sqlite-query]: no such table: Kunde in /data/www/web-app/example/Src/de/DB.php on line 12
Da ging wohl was schief
-----------------------

Wie kann ich den eine DB auswählen?
Sowie in MySQL --> mysql_select_db("datenbank", $verbindung);

Unter http://www.php.net/manual/de/book.sqlite.php konnte ich nix finden was mir hilft, alle Beispiele dort funktionieren bei mir nicht, immer das gleiche (siehe PHP Meldung oben).

  1. Hi!

    $db = sqlite_open("exampleDB") or die ("Verbindung zur Datenbank konnte nicht hergestellt werden!");

    Damit öffnest du die angegebene Datei. Wenn sie nicht existiert, wird sie erstellt. So sagt es ja auch das Handbuch.

    Warning: sqlite_query() [function.sqlite-query]: no such table: Kunde in /data/www/web-app/example/Src/de/DB.php on line 12
    Da ging wohl was schief

    Und es steht auch da, was schief lief, nämlich, dass die Datenbank, die du geöffnet (oder erstellt) hast, keine Tabelle namens Kunde enthält. Du hast also entweder die falsche Datei beim Öffnen angegeben oder aber die Tabelle Kunde existiert darin schlicht nicht.

    Wie kann ich den eine DB auswählen?

    Die hast du doch schon gewählt, indem du die Datei geöffnet hast.

    Lo!

    1. Damit öffnest du die angegebene Datei. Wenn sie nicht existiert, wird sie erstellt. So sagt es ja auch das Handbuch.

      Ok, aber was für eine Datei?
      Ich möchte die Verbindung zu einer DB herstellen, keine Datei anlegen/öffnen.

      Und es steht auch da, was schief lief, nämlich, dass die Datenbank, die du geöffnet (oder erstellt) hast, keine Tabelle namens Kunde enthält. Du hast also entweder die falsche Datei beim Öffnen angegeben oder aber die Tabelle Kunde existiert darin schlicht nicht.

      Doch die Tabelle ist da.
      Und nochmal, was für Datei? Ich möchte eine Verbindung!

      Danke.

      1. Kann mir einer vielleicht ein MSSQL Modul für Apache emfehlen?
        Unser Provider hat wohl mist gebaut....

        1. Moin!

          Kann mir einer vielleicht ein MSSQL Modul für Apache emfehlen?
          Unser Provider hat wohl mist gebaut....

          Dann wende dich an diesen Provider, wenn er den Server sowieso administriert. Denn ohne Admin-Zugang kannst du sowieso nichts installieren.

          - Sven Rautenberg

      2. Hi!

        Damit öffnest du die angegebene Datei. Wenn sie nicht existiert, wird sie erstellt. So sagt es ja auch das Handbuch.
        Ok, aber was für eine Datei?
        Ich möchte die Verbindung zu einer DB herstellen, keine Datei anlegen/öffnen.

        Eine SQLite-Datenbank ist nur eine Datei im Dateisystem. SQLite ist kein eigenständiger Server, zu dem man eine Verbindung aufbauen könnte. Vielmehr ist die gesamte SQLite-Funktionalität nur eine Erweiterung zu bestehenden Programmen, in dem Fall eine PHP-Extension.

        Doch die Tabelle ist da.

        Woran stellst du das fest?

        Und nochmal, was für Datei? Ich möchte eine Verbindung!

        Eine Verbindung wohin? Wenn die Tabelle da ist, muss die sie enthaltende Dabenbank-Datei da sein, und die musst du beim sqlite_open() angeben.

        Lo!

        1. Unser Provider hat misst gebaut, mal wieder...

          Wir nutzen einen MS SQL Server aber der PHP Server kann nur SQLite und SQLite 2, kein MySQL/MSSQL.

          Mit SQLite habe ich bisdahin nicht gearbeitet, daher war mein Verständniss falsch! Sorry!

          1. Hi!

            Wir nutzen einen MS SQL Server aber der PHP Server kann nur SQLite und SQLite 2, kein MySQL/MSSQL.

            MySQL würde dir für MS SQL auch nichts nützen. Da gehen nur die PHP-Extensions für Mssql und ODBC und PDO mit den gleichnamigen PDO-Drivers.

            Lo!

  2. Hallo,

    unabhängig von Deinem konkreten Problem würde ich Dir empfehlen, mit PDO und SQLite 3 zu arbeiten. Das funktioniert sehr gut und ich verwende es immer öfter (habe auch mal ein kleines CMS damit gemacht).

    Ale×