SQlite mit PhP

Fragen zu allen anderen Programmiersprachen.
Andreas21
Beiträge: 390
Registriert: 30.08.2004 09:05
Computerausstattung: Desktop
Windows 10 Pro x64
CPU: AMD Ryzen 5 2600 3.40 GHz
Ram: 16GB RAM
Grafik: NVIDA Geforce 1060
PB: 5.72 X86/X64
Wohnort: Heidelberg

SQlite mit PhP

Beitrag von Andreas21 »

Hi,

ich versuche eine in PB erstellte Sqlite Datenabnk untre PHP auszulesen.
Leider bekomme ich immer eine Fehlermeldung beim Öffnen der Datenbnak unter PHP.
Warning: sqlite_open() [function.sqlite-open]: file is encrypted or is not a database in test.php on line 2
Fehler beim Öffnen der DB: file is encrypted or is not a database

Code: Alles auswählen

<?php
    if (!$db = sqlite_open('sqlite.db', 0666, $err));
    {
      die("Fehler beim Öffnen der DB: $err");
    } else {
      $result = sqlite_query($db,'SELECT Name FROM mod');
      while($line = sqlite_fetch_array($result))
      {
        echo("Name: " . $line["Name"] . "<br>");
      }
    }
?>

Code: Alles auswählen

UseSQLiteDatabase()

CreateFile(0,"sqlite.db")
CloseFile(0)

OpenDatabase(0,"sqlite.db", "", "", #PB_Database_SQLite)

sql.s = "CREATE TABLE "
sql+    Chr(34)+"mod"+Chr(34)+" ("
sql+    Chr(34)+"Name"+Chr(34)+" TEXT PRIMARY KEY,"+Chr(34)+"zeit"+Chr(34)+" TEXT);"
DatabaseUpdate(0, sql)

For index = 0 To 100
  sql = "INSERT INTO "+Chr(34)+"mod"+Chr(34)+" VALUES ( "
  sql+  Chr(34)+Str(index)+Chr(34)+","+Chr(34)+Str(Date())+Chr(34)+");"
  DatabaseUpdate(0, sql)
Next

CloseDatabase(0)
Dast ist nur ein Test Code.
Die Datenbank ist mit Navicat Lite und PB lesbar.
Windows 10 x64 Pro - PB 5.61 X64 / x32 - PB 4.6 x32
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Re: SQlite mit PhP

Beitrag von bobobo »

ein Begin vor und ein Commit nach der Schleife an die sqlitedb bei der Erstellung
macht das ganze etwas flötter (nicht unerheblich)

Code: Alles auswählen

....
DatabaseUpdate(0, "Begin")
For index = 0 To 100
  sql = "INSERT INTO "+Chr(34)+"mod"+Chr(34)+" VALUES ( "
  sql+  Chr(34)+Str(index)+Chr(34)+","+Chr(34)+Str(Date())+Chr(34)+");"
  DatabaseUpdate(0, sql)
Next
DatabaseUpdate(0, "Commit")
....
und dann ist da ein schreibfehler im php-dings drin .. das ; hinter der ersten zeile ..if (... muss da weg

ansonsten kann ich mit so einer sqlite.db mit php auch nix anfangen

liegt's vielleicht an der version ???
<?php
echo sqlite_libversion ();
?>
schmeisst bei mir was 2.8. arttiges raus
pb ist da aktueller denk ich
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Andreas21
Beiträge: 390
Registriert: 30.08.2004 09:05
Computerausstattung: Desktop
Windows 10 Pro x64
CPU: AMD Ryzen 5 2600 3.40 GHz
Ram: 16GB RAM
Grafik: NVIDA Geforce 1060
PB: 5.72 X86/X64
Wohnort: Heidelberg

Re: SQlite mit PhP

Beitrag von Andreas21 »

Thx für die Antwort.

Ich habe mein PHP auf 5.3 Updatet da wird dann Sqlite 3 unterstützt.

Code: Alles auswählen

<?php
    if (!$db = new SQLite3('sqlite.db'))
    {
      die("Fehler beim Öffnen der DB: $err");
    } else {
      $results = $db->query('SELECT Name FROM mod');
      while ($row = $results->fetchArray())
      {
        echo("Name: " . $row["Name"] . "<br>");
      }
    }
?>
Windows 10 x64 Pro - PB 5.61 X64 / x32 - PB 4.6 x32
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

Re: SQlite mit PhP

Beitrag von Bisonte »

Andreas21 hat geschrieben:Thx für die Antwort.

Ich habe mein PHP auf 5.3 Updatet da wird dann Sqlite 3 unterstützt.
Es geht ja nun nicht um die PHP Version, sondern um die installierte SQLite Version !
echo sqlite_libversion ();
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Andreas21
Beiträge: 390
Registriert: 30.08.2004 09:05
Computerausstattung: Desktop
Windows 10 Pro x64
CPU: AMD Ryzen 5 2600 3.40 GHz
Ram: 16GB RAM
Grafik: NVIDA Geforce 1060
PB: 5.72 X86/X64
Wohnort: Heidelberg

Re: SQlite mit PhP

Beitrag von Andreas21 »

Das war ja die 2.xxx

Die Version 3 ist bei php 5.3 standart erst mit bei.
Windows 10 x64 Pro - PB 5.61 X64 / x32 - PB 4.6 x32
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: SQlite mit PhP

Beitrag von Kiffi »

@Andreas21: Aus Deinen letzten Postings wird nicht
klar, ob das Problem noch besteht. Wenn ja, dann
bitte mal testweise den kompletten Pfad (Adresse)
zur Datenbank bei $db = new SQLite3(...) angeben.

Grüße ... Kiffi
a²+b²=mc²
Andreas21
Beiträge: 390
Registriert: 30.08.2004 09:05
Computerausstattung: Desktop
Windows 10 Pro x64
CPU: AMD Ryzen 5 2600 3.40 GHz
Ram: 16GB RAM
Grafik: NVIDA Geforce 1060
PB: 5.72 X86/X64
Wohnort: Heidelberg

Re: SQlite mit PhP

Beitrag von Andreas21 »

Das Problem ist mit den Update von PHP gelöst worden.
In der Version PHP 5.3.X ist SQLite 3 Standart mit bei.


SQlite datenbanken lauffen so Problemlos unter PHP.
Windows 10 x64 Pro - PB 5.61 X64 / x32 - PB 4.6 x32
John
Beiträge: 33
Registriert: 10.11.2010 11:23
Computerausstattung: Ein stinknormales ASUS Notebook, 15,2 Zoll.
Wohnort: Deutschland, Niedersachsen
Kontaktdaten:

Re: SQlite mit PhP

Beitrag von John »

Hi an alle,

dieses Thema möchte ich mal aufgreifen, weil mich das kürzlich beschäftigte.

Ich habs dann aber aus Zeitgründen nicht weiter verfolgt.

Also, habe ich das richtig verstanden, wenn ich z.B. mit PB 4.4x (z.B. Windows Version, aber sollte ja ansich egal sein, für welches Zielsystem, oder?) mit SQLite eine DB erstelle, dann kann ich diese DB (also die Datendatei die SQLite mir mit meinem PB Programm angelegt hat) auch mit PHP, also webbasiert (z.B. als Webanwendung im Browser) nutzen, also lesen, schreiben, usw.?

Bedeutet das z.B. auch, dass ich so eine lokal erstellte SQLite Datendatei - aus welchen Gründen auch immer - zum Webspace hochladen könnte, und dann dort webbasiert ebenfalls bearbeiten kann? Falls ja, kann ich sie dann auch wieder downloaden und nun wieder mit meinem lokalen PB Programm weiter bearbeiten?

???
Geht sowas?

Ich hab über dieses Thema mal mit dem Michael gesprochen (Nickname???), aber er wusste z. dem Zeitpunkt auch keine konkrete Antwort. Ist ja auch ziemlich speziell, oder? Er meinte, mit UNC könnte sowas evlt. auch gehen...

Danke für euer Feedback.
Grüße
John

Weniger ist mehr :-)
http://www.loetseite.de - noch ganz jung: etwas über Elektronik.
Andreas21
Beiträge: 390
Registriert: 30.08.2004 09:05
Computerausstattung: Desktop
Windows 10 Pro x64
CPU: AMD Ryzen 5 2600 3.40 GHz
Ram: 16GB RAM
Grafik: NVIDA Geforce 1060
PB: 5.72 X86/X64
Wohnort: Heidelberg

Re: SQlite mit PhP

Beitrag von Andreas21 »

Ja das ist möglich.
Du soltest nur darauf achten das du SQlite 3 hast.
Was erst ab PHP Version 5.3.X ist.
Bei älteren PHP Versionen ist es Version 2.X
PB benutzt SQLite 3.
PB SQlite ist nicht kompatibel mit PHP Version < 5.3.X.
Windows 10 x64 Pro - PB 5.61 X64 / x32 - PB 4.6 x32
John
Beiträge: 33
Registriert: 10.11.2010 11:23
Computerausstattung: Ein stinknormales ASUS Notebook, 15,2 Zoll.
Wohnort: Deutschland, Niedersachsen
Kontaktdaten:

Re: SQlite mit PhP

Beitrag von John »

Hi Andreas,

danke dir.

Und was ist mit UNC (Universal Naming Convention)?

Wäre folgendes möglich, zumindest wenn die PHP Version passt?

=>

Webanwendung bearbeitet SQLite Datendatei (=Datenbank).

Gleichzeitig (oder ist es nicht gleichzeitig möglich? Falls nein, wie müsste man prüfen, ob die Webanwendung, bzw. die Web-DB die Datei bearbeitet?) soll (zumindest zeitweilig) ein lokales Programm, welches mit PB erstellt ist, und SQLite Funktionen hat, per "ganz normalem" PC und UNC auf die Web-DB (also die Datendatei) zugreifen.

(Ganz normaler PC = Windows, oder Linux, oder MacOS, eben das was mit PB realisierbar ist).

Geht das (wenn der PC Internetzugang hat)?

Falls ja, wie macht man das, worauf muss man achten, damit die DB (die Datendatei) nicht zerstört wird, oder kümmert sich die SQLite selber um sowas? Ich weiss nämlich grad nicht, ob SQLite mehrplatzfähig ist.

Ansonsten muss ich mal einwerfen; das Konzept von SQLite finde ich generell spitzenmässig, und ich finds auch klasse, das sowas in PB drin ist. Und ja, auch PB finde ich klasse, allerdings wünsche ich mir mehr visuelle Programmiermöglichkeiten, aber dafür gibts ja pureFORM (danke Gnozal :-).

Danke.
Grüße
John

Weniger ist mehr :-)
http://www.loetseite.de - noch ganz jung: etwas über Elektronik.
Antworten