Latest web development tutorials

SQLite - PHP

instalar

A partir de PHP 5.3.0 en adelante extensión SQLite3 está activado por defecto. Puede desactivar SQLite3 uso extendido--sin-sqlite3 en tiempo de compilación.

Los usuarios de Windows deben habilitar php_sqlite3.dll utilizar esta extensión. A partir de PHP 5.3.0 en adelante, esta DLL se incluye en la distribución de PHP en Windows.

Para obtener instrucciones detalladas de instalación, consulte nuestra recomendación PHP tutorial y su web oficial.

PHP interfaz API

Los siguientes son PHP programa importante para satisfacer sus necesidades utilizando la base de datos SQLite en PHP programa. Si necesita más detalles, consulte la documentación oficial de 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 语句中,出于安全考虑,该字符串已被正确地转义。

Conectarse a la base de datos

El siguiente código PHP muestra cómo conectarse a una base de datos existente. Si no existe la base de datos, se crea, y finalmente devuelve un objeto de base de datos.

<? Php
   MyDB clase extiende SQLite3
   {
      __construct función ()
      {
         $ This-> abierto ( 'test.db');
      }
   }
   $ Db = new MyDB ();
   if (! $ db) {
      echo $ db-> lastErrorMsg ();
   } Else {
      echo "base de datos abierta con éxito \ n";
   }
?>

Ahora, vamos a ejecutar el programa anterior, crear nuestrotest.db base de datos en el directorio actual.Puede cambiar la ruta, según sea necesario. Si la base de datos se ha creado correctamente, se mostrará el mensaje que se muestra a continuación:

base de datos abierta con éxito

Crear una tabla

El siguiente fragmento de código PHP se utiliza para crear una tabla en la base de datos creada anteriormente:

<? Php
   MyDB clase extiende SQLite3
   {
      __construct función ()
      {
         $ This-> abierto ( 'test.db');
      }
   }
   $ Db = new MyDB ();
   if (! $ db) {
      echo $ db-> lastErrorMsg ();
   } Else {
      echo "base de datos abierta con éxito \ n";
   }

   $ Sql ​​= <<< EOF
      CREAR EMPRESA TABLA
      (ID INT PRIMARY KEY NOT NULL,
      NOMBRE DE TEXTO NO NULO,
      EDAD INT NOT NULL,
      CHAR DIRECCIÓN (50),
      VERDADERO SALARIO);
EOF;

   $ Ret = $ db-> exec ($ sql);
   if (! $ ret) {
      echo $ db-> lastErrorMsg ();
   } Else {
      echo "Tabla creada con éxito \ n";
   }
   $ Db-> close ();
?>

Cuando el procedimiento anterior, se crea la tabla EMPRESA entest.db y muestra el mensaje que se muestra a continuación:

la base de datos abierto con éxito
Tabla creado con éxito

operación INSERT

El siguiente programa de PHP muestra cómo crear un registro de la tabla empresa creada anteriormente:

<? Php
   MyDB clase extiende SQLite3
   {
      __construct función ()
      {
         $ This-> abierto ( 'test.db');
      }
   }
   $ Db = new MyDB ();
   if (! $ db) {
      echo $ db-> lastErrorMsg ();
   } Else {
      echo "base de datos abierta con éxito \ n";
   }

   $ Sql ​​= <<< EOF
      INSERT INTO EMPRESA (ID, NOMBRE, edad, dirección, SALARIO)
      VALUES (1, 'Paul', 32, 'California', 20000.00);

      INSERT INTO EMPRESA (ID, NOMBRE, edad, dirección, SALARIO)
      VALUES (2, 'Allen', 25 ', Texas, 15000.00);

      INSERT INTO EMPRESA (ID, NOMBRE, edad, dirección, SALARIO)
      VALUES (3, 'Teddy', 23, «Noruega», 20000.00);

      INSERT INTO EMPRESA (ID, NOMBRE, edad, dirección, SALARIO)
      VALUES (4, 'Marcos', 25 ', Rich-Mond', 65000.00);
EOF;

   $ Ret = $ db-> exec ($ sql);
   if (! $ ret) {
      echo $ db-> lastErrorMsg ();
   } Else {
      echo "Los registros creados con éxito \ n";
   }
   $ Db-> close ();
?>

El programa anterior se ejecuta, se crea en la tabla de la compañía para un registro dado, y muestra las dos líneas siguientes:

la base de datos abierto con éxito
Registros creado con éxito

operaciones SELECT

El siguiente programa de PHP muestra cómo llegar desde la mesa EMPRESA creado anteriormente y muestra el registro:

<? Php
   MyDB clase extiende SQLite3
   {
      __construct función ()
      {
         $ This-> abierto ( 'test.db');
      }
   }
   $ Db = new MyDB ();
   if (! $ db) {
      echo $ db-> lastErrorMsg ();
   } Else {
      echo "base de datos abierta con éxito \ n";
   }

   $ Sql ​​= <<< EOF
      SELECT * de la compañía;
EOF;

   $ Ret = $ db-> query ($ sql);
   while ($ fila = $ ret-> fetchArray (SQLITE3_ASSOC)) {
      . Echo "ID =" $ fila [ 'ID'] "\ n" .;
      . Echo "name =" $ fila [ 'name'] "\ n" .;
      . Echo "DIRECCIÓN =" $ fila [ 'DIRECCIÓN'] "\ n" .;
      . Echo "SALARIO =" $ fila [ 'SALARIO'] "\ n \ n" .;
   }
   echo "Operación hacer con éxito \ n";
   $ Db-> close ();
?>

Cuando se ejecuta el programa anterior, producirá los siguientes resultados:

la base de datos abierto con éxito
ID = 1
NAME = Paul
DIRECCIÓN = California
SALARIO = 20000

ID = 2
NAME = Allen
DIRECCIÓN = Tejas
SALARIO = 15000

ID = 3
NAME = peluche
DIRECCIÓN = Noruega
SALARIO = 20000

ID = 4
NAME = Marcos
DIRECCIÓN = Rich-Mond
SALARIO = 65000

Operación hacer con éxito

operación UPDATE

El siguiente código PHP muestra cómo utilizar la instrucción UPDATE para actualizar los registros, a continuación, obtener de la tabla EMPRESA y mostrar el registro actualizado:

<? Php
   MyDB clase extiende SQLite3
   {
      __construct función ()
      {
         $ This-> abierto ( 'test.db');
      }
   }
   $ Db = new MyDB ();
   if (! $ db) {
      echo $ db-> lastErrorMsg ();
   } Else {
      echo "base de datos abierta con éxito \ n";
   }
   $ Sql ​​= <<< EOF
      EMPRESA actualización del conjunto SALARIO = 25000.00 donde ID = 1;
EOF;
   $ Ret = $ db-> exec ($ sql);
   if (! $ ret) {
      echo $ db-> lastErrorMsg ();
   } Else {
      echo $ db-> cambios (), "Registro actualizado correctamente \ n";
   }

   $ Sql ​​= <<< EOF
      SELECT * de la compañía;
EOF;
   $ Ret = $ db-> query ($ sql);
   while ($ fila = $ ret-> fetchArray (SQLITE3_ASSOC)) {
      . Echo "ID =" $ fila [ 'ID'] "\ n" .;
      . Echo "name =" $ fila [ 'name'] "\ n" .;
      . Echo "DIRECCIÓN =" $ fila [ 'DIRECCIÓN'] "\ n" .;
      . Echo "SALARIO =" $ fila [ 'SALARIO'] "\ n \ n" .;
   }
   echo "Operación hacer con éxito \ n";
   $ Db-> close ();
?>

Cuando se ejecuta el programa anterior, producirá los siguientes resultados:

la base de datos abierto con éxito
1 registro actualizado correctamente
ID = 1
NAME = Paul
DIRECCIÓN = California
SALARIO = 25000

ID = 2
NAME = Allen
DIRECCIÓN = Tejas
SALARIO = 15000

ID = 3
NAME = peluche
DIRECCIÓN = Noruega
SALARIO = 20000

ID = 4
NAME = Marcos
DIRECCIÓN = Rich-Mond
SALARIO = 65000

Operación hacer con éxito

operación DELETE

El siguiente código PHP muestra cómo utilizar la instrucción DELETE borra cualquier registro, y luego toma de la tabla EMPRESA y muestra la grabación restante:

<? Php
   MyDB clase extiende SQLite3
   {
      __construct función ()
      {
         $ This-> abierto ( 'test.db');
      }
   }
   $ Db = new MyDB ();
   if (! $ db) {
      echo $ db-> lastErrorMsg ();
   } Else {
      echo "base de datos abierta con éxito \ n";
   }
   $ Sql ​​= <<< EOF
      Borrar de la empresa donde ID = 2;
EOF;
   $ Ret = $ db-> exec ($ sql);
   if (! $ ret) {
     echo $ db-> lastErrorMsg ();
   } Else {
      echo $ db-> cambios (), "Registro eliminado con éxito \ n";
   }

   $ Sql ​​= <<< EOF
      SELECT * de la compañía;
EOF;
   $ Ret = $ db-> query ($ sql);
   while ($ fila = $ ret-> fetchArray (SQLITE3_ASSOC)) {
      . Echo "ID =" $ fila [ 'ID'] "\ n" .;
      . Echo "name =" $ fila [ 'name'] "\ n" .;
      . Echo "DIRECCIÓN =" $ fila [ 'DIRECCIÓN'] "\ n" .;
      . Echo "SALARIO =" $ fila [ 'SALARIO'] "\ n \ n" .;
   }
   echo "Operación hacer con éxito \ n";
   $ Db-> close ();
?>

Cuando se ejecuta el programa anterior, producirá los siguientes resultados:

la base de datos abierto con éxito
1 Registro eliminado con éxito
ID = 1
NAME = Paul
DIRECCIÓN = California
SALARIO = 25000

ID = 3
NAME = peluche
DIRECCIÓN = Noruega
SALARIO = 20000

ID = 4
NAME = Marcos
DIRECCIÓN = Rich-Mond
SALARIO = 65000

Operación hacer con éxito