English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
A partire da PHP 5.3.0, l'estensione SQLite3 è abilitata per default. Puoi usarla durante la compilazione. --without-sqlite3 Disabilitare l'estensione SQLite3.
Gli utenti Windows devono abilitare php_sqlite3.dll per utilizzare questa estensione. A partire da PHP 5.3.0, questo DLL è incluso nella distribuzione Windows di PHP.
Per ottenere istruzioni dettagliate di installazione, si consiglia di consultare le nostre guide PHP e il suo sito ufficiale.
Di seguito è riportato un importante programma PHP, che può soddisfare le tue esigenze di utilizzo del database SQLite nel programma PHP. Se hai bisogno di ulteriori dettagli, consulta la documentazione ufficiale PHP.
Numero | API & Descrizione |
---|---|
1 | public void SQLite3::open (filename, flags, encryption_key ) apre un database SQLite 3. Se la costruzione include la crittografia, allora cercherà di utilizzare la chiave di crittografia. Se il nome del file filename assegnato a ':memory:'Se questo valore è impostato su Se il nome del file filename è il nome effettivo del dispositivo file, SQLite3::open() utilizzerà questo valore di parametro per tentare di aprire il file del database. Se il file con questo nome non esiste, verrà creato un nuovo file di database con questo nome. flags opzionali per determinare se aprire il database SQLite. Di default, viene aperto quando si utilizza SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE. |
2 | public bool SQLite3::exec ( string $query ) Questa routine fornisce un modo rapido per eseguire un comando SQL, il comando SQL è fornito dal parametro sql, può essere composto da più comandi SQL. Questo programma viene utilizzato per eseguire una query senza risultati su un database dato. |
3 | public SQLite3Result SQLite3::query ( string $query ) Questa routine esegue una query SQL, se la query restituisce risultati, restituisce un SQLite3Result Oggetto. |
4 | public int SQLite3::lastErrorCode ( void ) Questa routine restituisce il codice di risultato numerico dell'ultima richiesta SQLite fallita. |
5 | public string SQLite3::lastErrorMsg ( void ) Questa routine restituisce la descrizione testuale in inglese dell'ultima richiesta SQLite fallita. |
6 | public int SQLite3::changes ( void ) Questa routine restituisce il numero di righe del database aggiornate, inserite o eliminate nell'ultima query SQL. |
7 | public bool SQLite3::close ( void ) Questa routine chiude la connessione al database aperta precedentemente con SQLite3::open(). |
8 | public string SQLite3::escapeString ( string $value ) Questa routine restituisce una stringa, in SQL, per motivi di sicurezza, la stringa è stata correttamente escapata. |
Il seguente codice PHP mostra come connettersi a un database esistente. Se il database non esiste, verrà creato e infine restituito un oggetto database.
<?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"; } ?>
Ora, eseguiamo il programma sopra menzionato per creare il nostro database nella directory corrente. test.db。Puoi modificare il percorso secondo necessità. Se il database viene creato con successo, verrà visualizzato il messaggio seguente:
Database aperto con successo
Il seguente segmento di codice PHP verrà utilizzato per creare una tabella nel database precedentemente creato:
<?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 "Table created successfully\n"; } $db->close(); ?>
Quando viene eseguito il programma sopra menzionato, creerà la tabella nella seguente posizione: test.db Crea la tabella COMPANY e visualizza il messaggio seguente:
Opened database successfully Tabella creata con successo
Il seguente programma PHP mostra come creare record nella tabella COMPANY creata in precedenza:
<?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 "Records created successfully\n"; } $db->close(); ?>
Quando viene eseguito il programma sopra menzionato, creerà il record specificato nella tabella COMPANY e visualizzerà le seguenti due righe:
Opened database successfully Records creati con successo
Il seguente programma PHP mostra come ottenere e visualizzare i record dalla tabella COMPANY creata in precedenza:
<?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(); ?>
When the above program is executed, it will produce the following results:
Opened database successfully 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 操作完成成功
Il seguente codice PHP mostra come utilizzare l'istruzione UPDATE per aggiornare qualsiasi record e quindi ottenere e visualizzare il record aggiornato dalla tabella 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(); ?>
When the above program is executed, it will produce the following results:
Opened database successfully 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 操作完成成功
The following PHP code demonstrates how to use the DELETE statement to delete any record and then retrieve and display the remaining records from the COMPANY table:
<?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(); ?>
When the above program is executed, it will produce the following results:
Opened database successfully 1 Record deleted successfully 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 操作完成成功