Latest web development tutorials

SQLite - PHP

instalar

Desde o PHP 5.3.0 em diante extensão SQLite3 é ativado por padrão. Você pode desativar SQLite3 uso prolongado--without-sqlite3 em tempo de compilação.

Os usuários do Windows devem permitir php_sqlite3.dll para usar esta extensão. Desde o PHP 5.3.0 em diante, esta DLL está incluído na distribuição do Windows PHP.

Para obter instruções detalhadas de instalação, consulte a nossa recomendação PHP tutorial e seu site oficial.

PHP interface API

A seguir, são importantes PHP programa para atender às suas necessidades usando banco de dados SQLite no programa PHP. Se você precisar de mais detalhes, consulte a documentação oficial do 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 语句中,出于安全考虑,该字符串已被正确地转义。

Conectar-se ao banco de dados

O seguinte código PHP mostra como se conectar a um banco de dados existente. Se o banco de dados não existir, ele é criado, e, finalmente, retorna um objeto de banco de dados.

<? Php
   classe MyDB estende SQLite3
   {
      __construct function ()
      {
         $ This-> open ( 'test.db');
      }
   }
   $ Db = new MyDB ();
   if (! $ db) {
      echo $ db-> lastErrorMsg ();
   } Else {
      echo "\ banco de dados aberto com sucesso n";
   }
?>

Agora, vamos executar o programa acima, criar o nossotest.db banco de dados no diretório atual.Você pode alterar o caminho conforme necessário. Se o banco de dados é criado com êxito, ele irá exibir a mensagem mostrada a seguir:

Abrir banco de dados com êxito

Criar uma tabela

O seguinte trecho de código PHP será usado para criar uma tabela no banco de dados criado anteriormente:

<? Php
   classe MyDB estende SQLite3
   {
      __construct function ()
      {
         $ This-> open ( 'test.db');
      }
   }
   $ Db = new MyDB ();
   if (! $ db) {
      echo $ db-> lastErrorMsg ();
   } Else {
      echo "\ banco de dados aberto com sucesso n";
   }

   $ Sql ​​= <<< EOF
      CREATE TABLE COMPANY
      (ID INT PRIMARY KEY NOT NULL,
      TEXT NAME NOT NULL,
      AGE INT NOT NULL,
      CHAR ADDRESS (50),
      Salário real);
EOF;

   $ Ret = $ db-> exec ($ sql);
   if (! $ ret) {
      echo $ db-> lastErrorMsg ();
   } Else {
      echo "Tabela criado com sucesso \ n";
   }
   $ Db-> close ();
?>

Quando o procedimento acima, ele cria a tabela COMPANY emtest.db e exibe a mensagem mostrada abaixo:

banco de dados aberto com sucesso
Tabela criada com sucesso

operação INSERT

O seguinte programa PHP mostra como criar um registro na tabela de empresa criada acima:

<? Php
   classe MyDB estende SQLite3
   {
      __construct function ()
      {
         $ This-> open ( 'test.db');
      }
   }
   $ Db = new MyDB ();
   if (! $ db) {
      echo $ db-> lastErrorMsg ();
   } Else {
      echo "\ banco de dados aberto com sucesso n";
   }

   $ Sql ​​= <<< EOF
      INSERT INTO COMPANY (ID, nome, idade, endereço, SALÁRIO)
      VALUES (1, 'Paul', 32 'California', 20.000,00);

      INSERT INTO COMPANY (ID, nome, idade, endereço, SALÁRIO)
      VALUES (2, 'Allen', 25, 'Texas', 15.000,00);

      INSERT INTO COMPANY (ID, nome, idade, endereço, SALÁRIO)
      VALUES (3, 'Teddy', 23, «Noruega», 20.000,00);

      INSERT INTO COMPANY (ID, nome, idade, endereço, SALÁRIO)
      VALUES (4, 'Mark', 25, 'Rich-Mond', 65.000,00);
EOF;

   $ Ret = $ db-> exec ($ sql);
   if (! $ ret) {
      echo $ db-> lastErrorMsg ();
   } Else {
      echo "registros criados com sucesso \ n";
   }
   $ Db-> close ();
?>

O programa acima é executado, ele será criado na tabela de empresa por um determinado registro e exibe as duas linhas seguintes:

banco de dados aberto com sucesso
Registros criados com êxito

operações SELECT

O seguinte programa PHP mostra como obter da tabela A empresa criou mais cedo e exibe o registro:

<? Php
   classe MyDB estende SQLite3
   {
      __construct function ()
      {
         $ This-> open ( 'test.db');
      }
   }
   $ Db = new MyDB ();
   if (! $ db) {
      echo $ db-> lastErrorMsg ();
   } Else {
      echo "\ banco de dados aberto com sucesso n";
   }

   $ Sql ​​= <<< EOF
      SELECT * FROM COMPANY;
EOF;

   $ Ret = $ db-> query ($ sql);
   while ($ linha = $ RET> fetchArray (SQLITE3_ASSOC)) {
      . Eco "ID =" $ row [ 'id'] "\ n" .;
      . Eco "NAME =" $ row [ 'name'] "\ n" .;
      . Eco "ADDRESS =" $ row [ 'ADDRESS'] "\ n" .;
      . Eco "SALÁRIO =" $ row [ 'SALÁRIO'] "\ n \ n" .;
   }
   echo "Operação feito com sucesso \ n";
   $ Db-> close ();
?>

Quando o programa acima é executado, ele irá produzir os seguintes resultados:

banco de dados aberto com sucesso
ID = 1
NAME = Paul
ADDRESS = California
SALÁRIO = 20000

ID = 2
NAME = Allen
ADDRESS = Texas
SALÁRIO = 15000

ID = 3
NAME = Teddy
ADDRESS = Noruega
SALÁRIO = 20000

ID = 4
NAME = Mark
ADDRESS = Rich-Mond
SALÁRIO = 65000

Operação realizada com sucesso

operação UPDATE

O seguinte código PHP mostra como usar a instrução UPDATE para atualizar os registros, em seguida, obter da tabela COMPANY e exibir o registro atualizado:

<? Php
   classe MyDB estende SQLite3
   {
      __construct function ()
      {
         $ This-> open ( 'test.db');
      }
   }
   $ Db = new MyDB ();
   if (! $ db) {
      echo $ db-> lastErrorMsg ();
   } Else {
      echo "\ banco de dados aberto com sucesso n";
   }
   $ Sql ​​= <<< EOF
      ATUALIZAÇÃO empresa criada SALÁRIO = 25000.00 onde ID = 1;
EOF;
   $ Ret = $ db-> exec ($ sql);
   if (! $ ret) {
      echo $ db-> lastErrorMsg ();
   } Else {
      echo $ db-> mudanças (), "Record atualizado com sucesso \ n";
   }

   $ Sql ​​= <<< EOF
      SELECT * FROM COMPANY;
EOF;
   $ Ret = $ db-> query ($ sql);
   while ($ linha = $ RET> fetchArray (SQLITE3_ASSOC)) {
      . Eco "ID =" $ row [ 'id'] "\ n" .;
      . Eco "NAME =" $ row [ 'name'] "\ n" .;
      . Eco "ADDRESS =" $ row [ 'ADDRESS'] "\ n" .;
      . Eco "SALÁRIO =" $ row [ 'SALÁRIO'] "\ n \ n" .;
   }
   echo "Operação feito com sucesso \ n";
   $ Db-> close ();
?>

Quando o programa acima é executado, ele irá produzir os seguintes resultados:

banco de dados aberto com sucesso
1 registro atualizado com sucesso
ID = 1
NAME = Paul
ADDRESS = California
SALÁRIO = 25000

ID = 2
NAME = Allen
ADDRESS = Texas
SALÁRIO = 15000

ID = 3
NAME = Teddy
ADDRESS = Noruega
SALÁRIO = 20000

ID = 4
NAME = Mark
ADDRESS = Rich-Mond
SALÁRIO = 65000

Operação realizada com sucesso

operação DELETE

O seguinte código PHP mostra como usar a instrução DELETE exclui os registros, em seguida, extraídos da tabela da COMPANHIA e exibe o restante de gravação:

<? Php
   classe MyDB estende SQLite3
   {
      __construct function ()
      {
         $ This-> open ( 'test.db');
      }
   }
   $ Db = new MyDB ();
   if (! $ db) {
      echo $ db-> lastErrorMsg ();
   } Else {
      echo "\ banco de dados aberto com sucesso n";
   }
   $ Sql ​​= <<< EOF
      Excluir da empresa onde ID = 2;
EOF;
   $ Ret = $ db-> exec ($ sql);
   if (! $ ret) {
     echo $ db-> lastErrorMsg ();
   } Else {
      echo $ db-> mudanças (), "Record excluído com sucesso \ n";
   }

   $ Sql ​​= <<< EOF
      SELECT * FROM COMPANY;
EOF;
   $ Ret = $ db-> query ($ sql);
   while ($ linha = $ RET> fetchArray (SQLITE3_ASSOC)) {
      . Eco "ID =" $ row [ 'id'] "\ n" .;
      . Eco "NAME =" $ row [ 'name'] "\ n" .;
      . Eco "ADDRESS =" $ row [ 'ADDRESS'] "\ n" .;
      . Eco "SALÁRIO =" $ row [ 'SALÁRIO'] "\ n \ n" .;
   }
   echo "Operação feito com sucesso \ n";
   $ Db-> close ();
?>

Quando o programa acima é executado, ele irá produzir os seguintes resultados:

banco de dados aberto com sucesso
1 Registro excluído com sucesso
ID = 1
NAME = Paul
ADDRESS = California
SALÁRIO = 25000

ID = 3
NAME = Teddy
ADDRESS = Noruega
SALÁRIO = 20000

ID = 4
NAME = Mark
ADDRESS = Rich-Mond
SALÁRIO = 65000

Operação realizada com sucesso