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 & 描述 |
---|---|
1 | public 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 时打开。 |
2 | public bool SQLite3::exec ( string $query ) 该例程提供了一个执行 SQL 命令的快捷方式,SQL 命令由 sql 参数提供,可以由多个 SQL 命令组成。该程序用于对给定的数据库执行一个无结果的查询。 |
3 | public SQLite3Result SQLite3::query ( string $query ) 该例程执行一个 SQL 查询,如果查询到返回结果则返回一个SQLite3Result对象。 |
4 | public int SQLite3::lastErrorCode ( void ) 该例程返回最近一次失败的 SQLite 请求的数值结果代码。 |
5 | public string SQLite3::lastErrorMsg ( void ) 该例程返回最近一次失败的 SQLite 请求的英语文本描述。 |
6 | public int SQLite3::changes ( void ) 该例程返回最近一次的 SQL 语句更新或插入或删除的数据库行数。 |
7 | public bool SQLite3::close ( void ) 该例程关闭之前调用 SQLite3::open() 打开的数据库连接。 |
8 | public 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