Latest web development tutorials

SQLite - PHP

installieren

Seit PHP 5.3.0 ab ist SQLite3 Erweiterung standardmäßig aktiviert. Sie können SQLite3 erweiterte Nutzung--without-sqlite3 bei der Kompilierung deaktivieren.

Windows-Benutzer müssen php_sqlite3.dll aktivieren um diese Erweiterung zu nutzen. Seit PHP ab 5.3.0 wird diese DLL in der Windows-PHP-Distribution enthalten.

Für eine ausführliche Montageanleitung, unsere PHP Tutorial Empfehlung und seiner offiziellen Website zu sehen.

PHP Interface API

Im Folgenden werden wichtige PHP-Programm Ihre Bedürfnisse mit SQLite-Datenbank in PHP-Programm zu erfüllen. Wenn Sie weitere Informationen benötigen, wenden Sie sich bitte auf der offiziellen PHP-Dokumentation.

序号API & 描述
1public void SQLite3::open ( filename, flags, encryption_key )

打开一个 SQLite 3 数据库。如果构建包括加密,那么它将尝试使用的密钥。

如果文件名filename赋值为':memory:',那么 SQLite3::open() 将会在 RAM 中创建一个内存数据库,这只会在 session 的有效时间内持续。

如果文件名 filename 为实际的设备文件名称,那么 SQLite3::open() 将使用这个参数值尝试打开数据库文件。如果该名称的文件不存在,那么将创建一个新的命名为该名称的数据库文件。

可选的 flags 用于判断是否打开 SQLite 数据库。默认情况下,当使用 SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE 时打开。

2public bool SQLite3::exec ( string $query )

该例程提供了一个执行 SQL 命令的快捷方式,SQL 命令由 sql 参数提供,可以由多个 SQL 命令组成。该程序用于对给定的数据库执行一个无结果的查询。

3public SQLite3Result SQLite3::query ( string $query )

该例程执行一个 SQL 查询,如果查询到返回结果则返回一个SQLite3Result对象。

4public int SQLite3::lastErrorCode ( void )

该例程返回最近一次失败的 SQLite 请求的数值结果代码。

5public string SQLite3::lastErrorMsg ( void )

该例程返回最近一次失败的 SQLite 请求的英语文本描述。

6public int SQLite3::changes ( void )

该例程返回最近一次的 SQL 语句更新或插入或删除的数据库行数。

7public bool SQLite3::close ( void )

该例程关闭之前调用 SQLite3::open() 打开的数据库连接。

8public string SQLite3::escapeString ( string $value )

该例程返回一个字符串,在 SQL 语句中,出于安全考虑,该字符串已被正确地转义。

Mit der Datenbank verbinden

Der folgende PHP-Code zeigt, wie Sie eine bestehende Datenbank zu verbinden. Wenn die Datenbank nicht vorhanden ist, wird sie erstellt, und kehrt schließlich ein Datenbankobjekt.

<? Php
   Klasse MyDB erstreckt SQLite3
   {
      Funktion __construct ()
      {
         $ This-> open ( 'test.db');
      }
   }
   $ Db = new MyDB ();
   if (! $ db) {
      echo $ db-> lastErrorMsg ();
   } Else {
      echo "Geöffnete Datenbank erfolgreich \ n";
   }
?>

Nun wollen wir das obige Programm ausführen, unsere Datenbanktest.db im aktuellen Verzeichnis erstellen.Sie können den Pfad nach Bedarf ändern. Wenn die Datenbank erfolgreich erstellt wurde, wird die unten gezeigte Meldung angezeigt:

Offene Datenbank erfolgreich

Erstellen Sie eine Tabelle

Der folgende PHP-Code-Snippet wird verwendet, um eine Tabelle in der Datenbank zu erstellen, die zuvor erstellt:

<? Php
   Klasse MyDB erstreckt SQLite3
   {
      Funktion __construct ()
      {
         $ This-> open ( 'test.db');
      }
   }
   $ Db = new MyDB ();
   if (! $ db) {
      echo $ db-> lastErrorMsg ();
   } Else {
      echo "Geöffnete Datenbank erfolgreich \ n";
   }

   $ Sql ​​= <<< EOF
      CREATE TABLE COMPANY
      (ID INT PRIMARY KEY NOT NULL,
      Der Name TEXT NOT NULL,
      AGE INT NOT NULL,
      ADDRESS CHAR (50),
      GEHALT REAL);
EOF;

   $ Ret = $ db-> exec ($ sql);
   if (! $ ret) {
      echo $ db-> lastErrorMsg ();
   } Else {
      echo "Tabelle erfolgreich \ n erstellt";
   }
   $ Db-> close ();
?>

Wenn das obige Verfahren, es COMPANY Tabelle intest.db erstellt und zeigt die folgende Meldung angezeigt:

Geöffnete Datenbank erfolgreich
Tabelle erstellt erfolgreich

INSERT-Operation

Das folgende PHP-Programm zeigt, wie ein Datensatz in der Tabelle FIRMA oben erstellt zu erstellen:

<? Php
   Klasse MyDB erstreckt SQLite3
   {
      Funktion __construct ()
      {
         $ This-> open ( 'test.db');
      }
   }
   $ Db = new MyDB ();
   if (! $ db) {
      echo $ db-> lastErrorMsg ();
   } Else {
      echo "Geöffnete Datenbank erfolgreich \ n";
   }

   $ Sql ​​= <<< EOF
      INSERT INTO COMPANY (ID, Name, Alter, Adresse, GEHALT)
      VALUES (1, 'Paul', 32, 'California', 20000.00);

      INSERT INTO COMPANY (ID, Name, Alter, Adresse, GEHALT)
      VALUES (2, 'Allen', 25 'Texas', 15000.00);

      INSERT INTO COMPANY (ID, Name, Alter, Adresse, GEHALT)
      VALUES (3, 'Teddy', 23, "Norwegen", 20000.00);

      INSERT INTO COMPANY (ID, Name, Alter, Adresse, GEHALT)
      VALUES (4, 'Mark', 25 ', Reiche-Mond', 65000.00);
EOF;

   $ Ret = $ db-> exec ($ sql);
   if (! $ ret) {
      echo $ db-> lastErrorMsg ();
   } Else {
      echo "Datensätze erfolgreich \ n erstellt";
   }
   $ Db-> close ();
?>

Das obige Programm ausgeführt wird, wird es in der Tabelle FIRMA für einen bestimmten Datensatz erstellt und zeigt die beiden folgenden Zeilen:

Geöffnete Datenbank erfolgreich
Aufzeichnungen erstellt erfolgreich

SELECT-Operationen

Das folgende PHP-Programm zeigt, wie aus der Tabelle FIRMA zuvor erstellt bekommen und zeigt den Datensatz:

<? Php
   Klasse MyDB erstreckt SQLite3
   {
      Funktion __construct ()
      {
         $ This-> open ( 'test.db');
      }
   }
   $ Db = new MyDB ();
   if (! $ db) {
      echo $ db-> lastErrorMsg ();
   } Else {
      echo "Geöffnete Datenbank erfolgreich \ n";
   }

   $ Sql ​​= <<< EOF
      SELECT * von UNTERNEHMEN;
EOF;

   $ Ret = $ db-> query ($ sql);
   while ($ row = $ ret-> fetchArray (SQLITE3_ASSOC)) {
      . Echo "ID =" $ row [ 'ID'] "\ n" .;
      . Echo "name =" $ row [ 'name'] "\ n" .;
      $ Row Echo "ADDRESS =". [ 'ADDRESS'] "\ n" .;
      . Echo "GEHALT =" $ row [ 'GEHALT'] "\ n \ n" .;
   }
   echo "Operation erfolgreich \ n getan";
   $ Db-> close ();
?>

Wenn das obige Programm ausgeführt wird, wird es die folgenden Ergebnisse erzielt:

Geöffnete Datenbank erfolgreich
ID = 1
NAME = Paul
ADDRESS = Kalifornien
GEHALT = 20000

ID = 2
NAME = Allen
ADDRESS = Texas
GEHALT = 15000

ID = 3
NAME = Teddy
ADDRESS = Norwegen
GEHALT = 20000

ID = 4
NAME = Mark
ADDRESS = Reiche-Mond
GEHALT = 65000

Der Betrieb getan erfolgreich

UPDATE-Operation

Der folgende PHP-Code zeigt, wie die UPDATE-Anweisung zu verwenden, um alle Datensätze zu aktualisieren, dann aus COMPANY Tisch zu bekommen und den aktualisierten Datensatz anzuzeigen:

<? Php
   Klasse MyDB erstreckt SQLite3
   {
      Funktion __construct ()
      {
         $ This-> open ( 'test.db');
      }
   }
   $ Db = new MyDB ();
   if (! $ db) {
      echo $ db-> lastErrorMsg ();
   } Else {
      echo "Geöffnete Datenbank erfolgreich \ n";
   }
   $ Sql ​​= <<< EOF
      UPDATE GESELLSCHAFT GEHALT = 25000.00 wo ID = 1;
EOF;
   $ Ret = $ db-> exec ($ sql);
   if (! $ ret) {
      echo $ db-> lastErrorMsg ();
   } Else {
      $ Db-> Änderungen () echo "Nehmen Sie erfolgreich \ n aktualisiert";
   }

   $ Sql ​​= <<< EOF
      SELECT * von UNTERNEHMEN;
EOF;
   $ Ret = $ db-> query ($ sql);
   while ($ row = $ ret-> fetchArray (SQLITE3_ASSOC)) {
      . Echo "ID =" $ row [ 'ID'] "\ n" .;
      . Echo "name =" $ row [ 'name'] "\ n" .;
      $ Row Echo "ADDRESS =". [ 'ADDRESS'] "\ n" .;
      . Echo "GEHALT =" $ row [ 'GEHALT'] "\ n \ n" .;
   }
   echo "Operation erfolgreich \ n getan";
   $ Db-> close ();
?>

Wenn das obige Programm ausgeführt wird, wird es die folgenden Ergebnisse erzielt:

Geöffnete Datenbank erfolgreich
1 Datensatz aktualisiert erfolgreich
ID = 1
NAME = Paul
ADDRESS = Kalifornien
GEHALT = 25000

ID = 2
NAME = Allen
ADDRESS = Texas
GEHALT = 15000

ID = 3
NAME = Teddy
ADDRESS = Norwegen
GEHALT = 20000

ID = 4
NAME = Mark
ADDRESS = Reiche-Mond
GEHALT = 65000

Der Betrieb getan erfolgreich

DELETE-Operation

Der folgende PHP-Code zeigt, wie die DELETE-Anweisung zu verwenden, um alle Datensätze löscht, und dann von der Firma Tabelle entnommen und zeigt die verbleibende Aufnahme:

<? Php
   Klasse MyDB erstreckt SQLite3
   {
      Funktion __construct ()
      {
         $ This-> open ( 'test.db');
      }
   }
   $ Db = new MyDB ();
   if (! $ db) {
      echo $ db-> lastErrorMsg ();
   } Else {
      echo "Geöffnete Datenbank erfolgreich \ n";
   }
   $ Sql ​​= <<< EOF
      DELETE von Unternehmen, in dem ID = 2;
EOF;
   $ Ret = $ db-> exec ($ sql);
   if (! $ ret) {
     echo $ db-> lastErrorMsg ();
   } Else {
      $ Db-> Änderungen () echo "gelöschten Datensatz erfolgreich \ n";
   }

   $ Sql ​​= <<< EOF
      SELECT * von UNTERNEHMEN;
EOF;
   $ Ret = $ db-> query ($ sql);
   while ($ row = $ ret-> fetchArray (SQLITE3_ASSOC)) {
      . Echo "ID =" $ row [ 'ID'] "\ n" .;
      . Echo "name =" $ row [ 'name'] "\ n" .;
      $ Row Echo "ADDRESS =". [ 'ADDRESS'] "\ n" .;
      . Echo "GEHALT =" $ row [ 'GEHALT'] "\ n \ n" .;
   }
   echo "Operation erfolgreich \ n getan";
   $ Db-> close ();
?>

Wenn das obige Programm ausgeführt wird, wird es die folgenden Ergebnisse erzielt:

Geöffnete Datenbank erfolgreich
1 Datensatz erfolgreich gelöscht
ID = 1
NAME = Paul
ADDRESS = Kalifornien
GEHALT = 25000

ID = 3
NAME = Teddy
ADDRESS = Norwegen
GEHALT = 20000

ID = 4
NAME = Mark
ADDRESS = Reiche-Mond
GEHALT = 65000

Der Betrieb getan erfolgreich