Il miglior tutorial SQLite - PHP Nel 2024, in questo tutorial puoi imparare installare,PHP interfaccia API,Connettersi al database,Creare una tabella,operazione INSERT,operazioni SELECT,operazione UPDATE,un'operazione DELETE,
Dal PHP 5.3.0 in poi estensione SQLite3 è abilitato di default. È possibile disattivare SQLite3 uso prolungato--without-sqlite3 in fase di compilazione.
Gli utenti Windows devono permettere php_sqlite3.dll per utilizzare questa estensione. Dal PHP 5.3.0 in poi, questa DLL viene incluso nella distribuzione di Windows di PHP.
Per istruzioni dettagliate, consultare la nostra raccomandazione PHP tutorial e il suo sito ufficiale.
Di seguito sono riportati programma PHP importante per soddisfare le vostre esigenze utilizzando database SQLite in programma PHP. Se avete bisogno di ulteriori informazioni, si prega di consultare la documentazione ufficiale di PHP.
序号 | 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 语句中,出于安全考虑,该字符串已被正确地转义。 |
Il seguente codice PHP mostra come connettersi a un database esistente. Se il database non esiste, viene creato, e, infine, restituisce un oggetto di database.
<? Php Classe MyDB estende SQLite3 { Funzione __construct () { $ This-> open ( 'test.db'); } } $ Db = new MyDB (); if (! $ db) { echo $ db-> lastErrorMsg (); } Else { echo "database aperto \ successo n"; } ?>
Ora, proviamo ad eseguire il programma di cui sopra, creiamo la nostratest.db database nella directory corrente.È possibile modificare il percorso in base alle esigenze. Se è stata creata la banca dati, verrà visualizzato il messaggio riportato di seguito:
Aprire banca dati con successo
Il seguente frammento di codice PHP viene utilizzato per creare una tabella nel database creato in precedenza:
<? Php Classe MyDB estende SQLite3 { Funzione __construct () { $ This-> open ( 'test.db'); } } $ Db = new MyDB (); if (! $ db) { echo $ db-> lastErrorMsg (); } Else { echo "database aperto \ successo n"; } $ Sql = <<< EOF CREATE TABLE AZIENDA (ID INT PRIMARY KEY NOT NULL, NOME TESTO NOT NULL, AGE INT NOT NULL, INDIRIZZO CHAR (50), STIPENDIO REAL); EOF; $ Ret = $ db-> exec ($ sql); if (! $ ret) { echo $ db-> lastErrorMsg (); } Else { echo "Tabella creato \ successo n"; } $ DB-> close (); ?>
Quando la procedura di cui sopra, si crea tabella COMPANY intest.db e visualizza il messaggio mostrato di seguito:
database aperto con successo Tabella creato con successo
Il seguente programma PHP mostra come creare un record nella tabella società creata in precedenza:
<? Php Classe MyDB estende SQLite3 { Funzione __construct () { $ This-> open ( 'test.db'); } } $ Db = new MyDB (); if (! $ db) { echo $ db-> lastErrorMsg (); } Else { echo "database aperto \ successo n"; } $ Sql = <<< EOF INSERT INTO COMPANY (ID, nome, età, indirizzo, STIPENDIO) VALORI (1, 'Paul', 32, 'California', 20000.00); INSERT INTO COMPANY (ID, nome, età, indirizzo, STIPENDIO) VALORI (2, 'Allen', 25, 'Texas', 15000.00); INSERT INTO COMPANY (ID, nome, età, indirizzo, STIPENDIO) VALORI (3, 'Teddy', 23 ', la Norvegia', 20000.00); INSERT INTO COMPANY (ID, nome, età, indirizzo, STIPENDIO) VALORI (4, 'Mark', 25 ', Rich-Mond', 65000.00); EOF; $ Ret = $ db-> exec ($ sql); if (! $ ret) { echo $ db-> lastErrorMsg (); } Else { echo "Record creati \ n" con successo; } $ DB-> close (); ?>
Il programma di cui sopra viene eseguito, verrà creato nella tabella Società per un determinato record, e visualizza le seguenti due righe:
database aperto con successo Record creati con successo
Il seguente programma PHP mostra come ottenere dal tavolo azienda ha creato in precedenza e visualizza il record:
<? Php Classe MyDB estende SQLite3 { Funzione __construct () { $ This-> open ( 'test.db'); } } $ Db = new MyDB (); if (! $ db) { echo $ db-> lastErrorMsg (); } Else { echo "database aperto \ successo n"; } $ Sql = <<< EOF SELECT * da Società; EOF; $ Ret = $ db-> query ($ sql); while ($ row = $ Retro-> fetchArray (SQLITE3_ASSOC)) { . Echo "ID =" $ row [ 'ID'] "\ n" .; . Echo "name =" $ row [ 'name'] "\ n" .; . Echo "ADDRESS =" $ row [ 'ADDRESS'] "\ n" .; . Echo "STIPENDIO =" $ row [ 'STIPENDIO'] "\ n \ n" .; } echo "Operazione eseguita con successo \ n"; $ DB-> close (); ?>
Quando viene eseguito il programma precedente, produrrà i seguenti risultati:
database aperto con successo ID = 1 NAME = Paul INDIRIZZO = California STIPENDIO = 20000 ID = 2 NAME = Allen INDIRIZZO = Texas STIPENDIO = 15000 ID = 3 NAME = Teddy INDIRIZZO = Norvegia STIPENDIO = 20000 ID = 4 NAME = Mark ADDRESS = Rich-Mond STIPENDIO = 65000 Operazione eseguita con successo
Il seguente codice PHP viene illustrato come utilizzare l'istruzione UPDATE per aggiornare tutti i record, quindi ottenere da tavolo COMPANY e visualizzare il record aggiornato:
<? Php Classe MyDB estende SQLite3 { Funzione __construct () { $ This-> open ( 'test.db'); } } $ Db = new MyDB (); if (! $ db) { echo $ db-> lastErrorMsg (); } Else { echo "database aperto \ successo n"; } $ Sql = <<< EOF Aggiornare l'azienda salario = 25000.00 dove ID = 1; EOF; $ Ret = $ db-> exec ($ sql); if (! $ ret) { echo $ db-> lastErrorMsg (); } Else { echo $ db-> modifiche (), "Record aggiornato con successo \ n"; } $ Sql = <<< EOF SELECT * da Società; EOF; $ Ret = $ db-> query ($ sql); while ($ row = $ Retro-> fetchArray (SQLITE3_ASSOC)) { . Echo "ID =" $ row [ 'ID'] "\ n" .; . Echo "name =" $ row [ 'name'] "\ n" .; . Echo "ADDRESS =" $ row [ 'ADDRESS'] "\ n" .; . Echo "STIPENDIO =" $ row [ 'STIPENDIO'] "\ n \ n" .; } echo "Operazione eseguita con successo \ n"; $ DB-> close (); ?>
Quando viene eseguito il programma precedente, produrrà i seguenti risultati:
database aperto con successo 1 Record aggiornato con successo ID = 1 NAME = Paul INDIRIZZO = California STIPENDIO = 25000 ID = 2 NAME = Allen INDIRIZZO = Texas STIPENDIO = 15000 ID = 3 NAME = Teddy INDIRIZZO = Norvegia STIPENDIO = 20000 ID = 4 NAME = Mark ADDRESS = Rich-Mond STIPENDIO = 65000 Operazione eseguita con successo
Il seguente codice PHP mostra come utilizzare l'istruzione DELETE elimina tutti i record, e poi ripreso dalla tabella COMPANY e visualizza la registrazione rimanente:
<? Php Classe MyDB estende SQLite3 { Funzione __construct () { $ This-> open ( 'test.db'); } } $ Db = new MyDB (); if (! $ db) { echo $ db-> lastErrorMsg (); } Else { echo "database aperto \ successo n"; } $ Sql = <<< EOF ELIMINARE da azienda dove ID = 2; EOF; $ Ret = $ db-> exec ($ sql); if (! $ ret) { echo $ db-> lastErrorMsg (); } Else { echo $ db-> modifiche (), "Record cancellato con successo \ n"; } $ Sql = <<< EOF SELECT * da Società; EOF; $ Ret = $ db-> query ($ sql); while ($ row = $ Retro-> fetchArray (SQLITE3_ASSOC)) { . Echo "ID =" $ row [ 'ID'] "\ n" .; . Echo "name =" $ row [ 'name'] "\ n" .; . Echo "ADDRESS =" $ row [ 'ADDRESS'] "\ n" .; . Echo "STIPENDIO =" $ row [ 'STIPENDIO'] "\ n \ n" .; } echo "Operazione eseguita con successo \ n"; $ DB-> close (); ?>
Quando viene eseguito il programma precedente, produrrà i seguenti risultati:
database aperto con successo 1 Record cancellato con successo ID = 1 NAME = Paul INDIRIZZO = California STIPENDIO = 25000 ID = 3 NAME = Teddy INDIRIZZO = Norvegia STIPENDIO = 20000 ID = 4 NAME = Mark ADDRESS = Rich-Mond STIPENDIO = 65000 Operazione eseguita con successo