Latest web development tutorials

SQLite - PHP

installare

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.

PHP interfaccia API

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 & 描述
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 语句中,出于安全考虑,该字符串已被正确地转义。

Connettersi al database

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

Creare una tabella

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

operazione INSERT

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

operazioni SELECT

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

operazione UPDATE

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

un'operazione DELETE

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