English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP en SQLite

instalación

desde PHP 5.3.0 en adelante se activa por defecto SQLite3 extensión. Puede usarla al compilar --sin-sqlite3 Deshabilitar SQLite3 extensión.

Los usuarios de Windows deben activar php_sqlite3.dll puede usar esta extensión. Desde PHP 5.3.0 desde, este DLL está incluido en la versión de Windows distribuida de PHP.

Para obtener instrucciones de instalación detalladas, se recomienda consultar nuestros tutoriales PHP y su sitio web oficial.

API de Interfaz PHP

A continuación se muestra un programa PHP importante que puede satisfacer sus necesidades de uso de la base de datos SQLite en programas PHP. Si necesita más detalles, consulte la documentación oficial de PHP.

NúmeroAPI & Descripción
1public void SQLite3::open ( filename, flags, encryption_key )

abrir una base de datos SQLite 3 la base de datos. Si la construcción incluye cifrado, intentará usar la clave.

si el nombre del archivo filename asignado a ':memory:'entonces SQLite3::open() creará una base de datos en RAM, lo que durará únicamente durante la duración de la sesión.

si el nombre del archivo filename es el nombre real del dispositivo, entonces SQLite3::open() intentará abrir el archivo de base de datos utilizando este valor de parámetro. Si no existe un archivo con ese nombre, se creará una nueva base de datos con ese nombre.

flags opcionales se utilizan para determinar si se abre la base de datos SQLite. Por defecto, al usar SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE al abrir.

2public bool SQLite3::exec ( string $query )

Esta rutina proporciona un atajo para ejecutar comandos SQL, los cuales son proporcionados por el parámetro sql y pueden consistir en múltiples comandos SQL. Este programa se utiliza para realizar una consulta sin resultados en la base de datos dada.

3public SQLite3Result SQLite3::query ( string $query )

Esta rutina ejecuta una consulta SQL y devuelve un SQLite3Result objeto.

4public int SQLite3::lastErrorCode ( void )

Esta rutina devuelve el código de resultado numérico de la solicitud SQLite fallida más reciente.

5::open() Conexión de base de datos abierta.3::lastErrorMsg ( void )

Esta rutina devuelve la descripción textual en inglés de la solicitud SQLite fallida más reciente.

6public int SQLite3::changes ( void )

Esta rutina devuelve el número de filas de la base de datos actualizadas o insertadas o eliminadas por última vez en la última consulta SQL.

7public bool SQLite3::close ( void )

该例程关闭之前调用 SQLite3Este procedimiento cierra el antes de llamar a SQLite

8::open() Conexión de base de datos abierta.3public string SQLite

::escapeString ( string $value )

Esta rutina devuelve una cadena, en la que la cadena se ha escapado correctamente en la declaración SQL por razones de seguridad.

Conectar a la base de datos

<?php
   class MyDB extends SQLite3
   {
      function __construct()
      {
         $this->open('test.db');
      }
   }
   $db = new MyDB();
   if(!$db){
      echo $db->lastErrorMsg();
   } else {
      echo "Base de datos abierta con éxito\n";
   }
?>

El siguiente código PHP muestra cómo conectar a una base de datos existente. Si la base de datos no existe, se creará, y finalmente se devolverá un objeto de base de datos. test.dbAhora, ejecutemos el programa anterior para crear nuestra base de datos en el directorio actual

Se abrió la base de datos con éxito. Puede cambiar la ruta según sea necesario. Si se crea con éxito la base de datos, se mostrará el mensaje siguiente:

Crear tabla

El siguiente segmento de código PHP se utilizará para crear una tabla en la base de datos previamente creada:

<?php
   class MyDB extends SQLite3
   {
      function __construct()
      {
         $this->open('test.db');
      }
   }
   $db = new MyDB();
   if(!$db){
      echo $db->lastErrorMsg();
   } else {
      echo "Base de datos abierta con éxito\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 "La tabla se creó con éxito\n";
   }
   $db->close();
?>

Al ejecutar el programa anterior, creará en test.db Se creó la tabla COMPANY en la base de datos y se mostró el mensaje siguiente:

Base de datos abierta con éxito
La tabla se creó con éxito

Operación de inserción

El siguiente programa PHP muestra cómo crear registros en la tabla COMPANY creada anteriormente:

<?php
   class MyDB extends SQLite3
   {
      function __construct()
      {
         $this->open('test.db');
      }
   }
   $db = new MyDB();
   if(!$db){
      echo $db->lastErrorMsg();
   } else {
      echo "Base de datos abierta con éxito\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 "Registros creados con éxito\n";
   }
   $db->close();
?>

Al ejecutar el programa anterior, creará el registro dado en la tabla COMPANY y mostrará las siguientes dos líneas:

Base de datos abierta con éxito
Registros creados con éxito

SELECT 操作

El siguiente programa PHP muestra cómo obtener y mostrar registros de la tabla COMPANY creada anteriormente:

<?php
   class MyDB extends SQLite3
   {
      function __construct()
      {
         $this->open('test.db');
      }
   }
   $db = new MyDB();
   if(!$db){
      echo $db->lastErrorMsg();
   } else {
      echo "Base de datos abierta con éxito\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 "Operación realizada con éxito\n";
   $db->close();
?>

Ejecutando el programa anterior, se obtienen los siguientes resultados:

Base de datos abierta con éxito
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
Operación realizada con éxito

Operación UPDATE

El siguiente código PHP muestra cómo utilizar la sentencia UPDATE para actualizar cualquier registro y luego obtener y mostrar los registros actualizados de la tabla COMPANY:

<?php
   class MyDB extends SQLite3
   {
      function __construct()
      {
         $this->open('test.db');
      }
   }
   $db = new MyDB();
   if(!$db){
      echo $db->lastErrorMsg();
   } else {
      echo "Base de datos abierta con éxito\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(), " Registro actualizado con éxito\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 "Operación realizada con éxito\n";
   $db->close();
?>

Ejecutando el programa anterior, se obtienen los siguientes resultados:

Base de datos abierta con éxito
1 Registro actualizado con éxito
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
Operación realizada con éxito

Operación DELETE

El siguiente código PHP muestra cómo utilizar la sentencia DELETE para eliminar cualquier registro y luego obtener y mostrar los registros restantes de la tabla COMPANY:

<?php
   class MyDB extends SQLite3
   {
      function __construct()
      {
         $this->open('test.db');
      }
   }
   $db = new MyDB();
   if(!$db){
      echo $db->lastErrorMsg();
   } else {
      echo "Base de datos abierta con éxito\n";
   }
   $sql =<<<EOF
      DELETE from COMPANY where ID=2;
EOF;
   $ret = $db->exec($sql);
   if(!$ret){
     echo $db->lastErrorMsg();
   } else {
      echo $db->changes(), " Registro eliminado con éxito\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 "Operación realizada con éxito\n";
   $db->close();
?>

Ejecutando el programa anterior, se obtienen los siguientes resultados:

Base de datos abierta con éxito
1 Registro eliminado con éxito
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
Operación realizada con éxito