English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Ab PHP 5.3.0 werden SQLite standardmäßig aktiviert3 Erweiterung. Sie können sie beim Kompilieren verwenden --ohne-sqlite3 Deaktivieren Sie SQLite3 Erweiterung.
Muss der Benutzer von Windows php_sqlite aktivieren3.dll können Sie diese Erweiterung verwenden. Ab PHP 5.3.0 ab, wird diese DLL in der Windows-Distribution von PHP enthalten sein.
Für detaillierte Installationsanweisungen empfehlen wir, unseren PHP-Tutorial und seine offizielle Website zu überprüfen.
Hier sind wichtige PHP-Programme, die Ihre Anforderungen an die Verwendung der SQLite-Datenbank in PHP-Programmen erfüllen können. Wenn Sie mehr Details benötigen, lesen Sie bitte die offizielle PHP-Dokumentation.
Nummer | API & Beschreibung |
---|---|
1 | public void SQLite3::open ( filename, flags, encryption_key ) Eine SQLite 3 Datenbank. Wenn der Aufbau Verschlüsselung einschließt, wird der verwendete Schlüssel versucht. Wenn der Dateiname filename zuweisen ':memory:', dann SQLite3::open() wird eine in RAM angelegte Datenbank erstellen, die nur während der Gültigkeit der Sitzung anhält. Wenn der Dateiname filename der tatsächliche Gerätedateiname ist, dann erstellt SQLite3::open() wird versucht, die Datenbankdatei zu öffnen. Wenn eine Datei mit diesem Namen nicht existiert, wird eine neue Datenbankdatei mit diesem Namen erstellt. Optionale Flags zur Bestimmung, ob die SQLite-Datenbank geöffnet wird. Standardmäßig wird der Parameterwert verwendet, wenn SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE bei der Eröffnung. |
2 | public bool SQLite3::exec ( string $query ) Diese Routine bietet eine Kurzwahlfunktion für die Ausführung von SQL-Befehlen, die durch den sql-Parameter bereitgestellt werden und aus mehreren SQL-Befehlen bestehen können. Dieses Programm wird verwendet, um eine resultlose Abfrage für die angegebene Datenbank auszuführen. |
3 | public SQLite3Ergebnis SQLite3::query ( string $query ) Diese Routine führt eine SQL-Abfrage aus und gibt zurück, wenn eine Abfrageergebnis zurückgegeben wird. SQLite3Ergebnis Objekt. |
4 | public int SQLite3::lastErrorCode ( void ) Diese Routine gibt den numerischen Fehlercode der neuesten fehlgeschlagenen SQLite-Anfrage zurück. |
5 | public string SQLite3::lastErrorMsg ( void ) Diese Routine gibt die englische Textbeschreibung der neuesten fehlgeschlagenen SQLite-Anfrage zurück. |
6 | public int SQLite3::changes ( void ) Diese Routine gibt die Anzahl der Datenbankzeilen zurück, die durch das neueste SQL-Update, Insert oder Delete aktualisiert wurden. |
7 | public bool SQLite3::close ( void ) Diese Routine schließt die SQLite3::open() geöffnete Datenbankverbindung. |
8 | public string SQLite3::escapeString ( string $value ) Diese Routine gibt einen String zurück, der im SQL-Befehl aus Sicherheitsgründen korrekt escaped wurde. |
Der folgende PHP-Code zeigt, wie man sich mit einer bestehenden Datenbank verbindet. Wenn die Datenbank nicht existiert, wird sie erstellt und schließlich wird ein Datenbankobjekt zurückgegeben.
<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "Opened database successfully\n"; } ?>
Lassen Sie uns nun das obige Programm ausführen und unsere Datenbank im aktuellen Verzeichnis erstellen test.db。Sie können den Pfad nach Bedarf ändern. Wenn die Datenbank erfolgreich erstellt wurde, wird die folgende Meldung angezeigt:
Datenbank erfolgreich geöffnet
Der folgende PHP-Codeabschnitt wird verwendet, um eine Tabelle in der zuvor erstellten Datenbank zu erstellen:
<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "Opened database successfully\n"; } $sql =<<<EOF CREATE TABLE COMPANY (ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL); EOF; $ret = $db->exec($sql); if(!$ret){ echo $db->lastErrorMsg(); } else { echo "Tabelle erfolgreich erstellt\n"; } $db->close(); ?>
Wenn das obige Programm ausgeführt wird, erstellt es test.db Ein TABLE COMPANY wird erstellt und die folgende Meldung wird angezeigt:
Datenbank erfolgreich geöffnet Tabelle erfolgreich erstellt
Das folgende PHP-Programm zeigt, wie man Einträge im oben erstellten TABLE COMPANY erstellt:
<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "Opened database successfully\n"; } $sql =<<<EOF INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Paul', 32, 'California', 20000.00 ); INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (2, 'Allen', 25, 'Texas', 15000.00 ); INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (3, 'Teddy', 23, 'Norway', 20000.00 ); INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 ); EOF; $ret = $db->exec($sql); if(!$ret){ echo $db->lastErrorMsg(); } else { echo "Daten erfolgreich erstellt\n"; } $db->close(); ?>
Wenn das obige Programm ausgeführt wird, erstellt es die angegebenen Einträge im TABLE COMPANY und zeigt die folgenden zwei Zeilen an:
Datenbank erfolgreich geöffnet Daten erfolgreich erstellt
下面的 PHP 程序显示了如何从前面创建的 COMPANY 表中获取并显示记录:
<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "Opened database successfully\n"; } $sql =<<<EOF SELECT * from COMPANY; EOF; $ret = $db->query($sql); while($row = $ret->fetchArray(SQLITE3_ASSOC) ){ echo "ID = ". $row['ID'] . "\n"; echo "NAME = ". $row['NAME'] ."\n"; echo "ADDRESS = ". $row['ADDRESS'] ."\n"; echo "SALARY = ". $row['SALARY'] ."\n\n"; } echo "Operation done successfully\n"; $db->close(); ?>
上述程序执行时,它会产生以下结果:
Datenbank erfolgreich geöffnet ID = 1 NAME = Paul ADDRESS = California SALARY = 20000 ID = 2 NAME = Allen ADDRESS = Texas SALARY = 15000 ID = 3 NAME = Teddy ADDRESS = Norway SALARY = 20000 ID = 4 NAME = Mark ADDRESS = Rich-Mond SALARY = 65000 Operation erfolgreich abgeschlossen
下面的 PHP 代码显示了如何使用 UPDATE 语句来更新任何记录,然后从 COMPANY 表中获取并显示更新的记录:
<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "Opened database successfully\n"; } $sql =<<<EOF UPDATE COMPANY set SALARY = 25000.00 where ID=1; EOF; $ret = $db->exec($sql); if(!$ret){ echo $db->lastErrorMsg(); } else { echo $db->changes(), " Record updated successfully\n"; } $sql =<<<EOF SELECT * from COMPANY; EOF; $ret = $db->query($sql); while($row = $ret->fetchArray(SQLITE3_ASSOC) ){ echo "ID = ". $row['ID'] . "\n"; echo "NAME = ". $row['NAME'] ."\n"; echo "ADDRESS = ". $row['ADDRESS'] ."\n"; echo "SALARY = ". $row['SALARY'] ."\n\n"; } echo "Operation done successfully\n"; $db->close(); ?>
上述程序执行时,它会产生以下结果:
Datenbank erfolgreich geöffnet 1 Record updated successfully ID = 1 NAME = Paul ADDRESS = California SALARY = 25000 ID = 2 NAME = Allen ADDRESS = Texas SALARY = 15000 ID = 3 NAME = Teddy ADDRESS = Norway SALARY = 20000 ID = 4 NAME = Mark ADDRESS = Rich-Mond SALARY = 65000 Operation erfolgreich abgeschlossen
下面的 PHP 代码显示了如何使用 DELETE 语句删除任何记录,然后从 COMPANY 表中获取并显示剩余的记录:
<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->lastErrorMsg(); } else { echo "Opened database successfully\n"; } $sql =<<<EOF DELETE from COMPANY where ID=2; EOF; $ret = $db->exec($sql); if(!$ret){ echo $db->lastErrorMsg(); } else { echo $db->changes(), " Record deleted successfully\n"; } $sql =<<<EOF SELECT * from COMPANY; EOF; $ret = $db->query($sql); while($row = $ret->fetchArray(SQLITE3_ASSOC) ){ echo "ID = ". $row['ID'] . "\n"; echo "NAME = ". $row['NAME'] ."\n"; echo "ADDRESS = ". $row['ADDRESS'] ."\n"; echo "SALARY = ". $row['SALARY'] ."\n\n"; } echo "Operation done successfully\n"; $db->close(); ?>
上述程序执行时,它会产生以下结果:
Datenbank erfolgreich geöffnet 1 Datensatz erfolgreich gelöscht ID = 1 NAME = Paul ADDRESS = California SALARY = 25000 ID = 3 NAME = Teddy ADDRESS = Norway SALARY = 20000 ID = 4 NAME = Mark ADDRESS = Rich-Mond SALARY = 65000 Operation erfolgreich abgeschlossen