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 & 描述 |
---|---|
1 | public 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 时打开。 |
2 | public bool SQLite3::exec ( string $query ) 该例程提供了一个执行 SQL 命令的快捷方式,SQL 命令由 sql 参数提供,可以由多个 SQL 命令组成。该程序用于对给定的数据库执行一个无结果的查询。 |
3 | public SQLite3Result SQLite3::query ( string $query ) 该例程执行一个 SQL 查询,如果查询到返回结果则返回一个SQLite3Result对象。 |
4 | public int SQLite3::lastErrorCode ( void ) 该例程返回最近一次失败的 SQLite 请求的数值结果代码。 |
5 | public string SQLite3::lastErrorMsg ( void ) 该例程返回最近一次失败的 SQLite 请求的英语文本描述。 |
6 | public int SQLite3::changes ( void ) 该例程返回最近一次的 SQL 语句更新或插入或删除的数据库行数。 |
7 | public bool SQLite3::close ( void ) 该例程关闭之前调用 SQLite3::open() 打开的数据库连接。 |
8 | public 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