首页  ·  知识 ·  编程语言
利用PHP的SQLite扩展开发能力
佚名  http://chinahtml.com    编辑:dezai  图片来源:网络
PHP 5.x的一个创新之举是加入了SQLite数据库引擎。SQLite是一个基于文件的、功能齐全的可移植数据库引擎,它能够被用来进行绝大多数SQL操作而不会加重客户端

PHP 5.x的一个创新之举是加入了SQLite数据库引擎。SQLite是一个基于文件的、功能齐全的可移植数据库引擎,它能够被用来进行绝大多数SQL操作而不会加重客户端-服务器通信的负载。PHP 5.x里的这个SQLite API在默认情况下会被激活,这也意味着你可以立即就使用SQLite。

本教程将向你介绍SQLite API所支持的重要方法,提供一个能够用在你开发中的简单脚本模板,从而告诉你如何使用PHP与SQLite数据库进行交互操作。本文假设你已经安装好了Apache和PHP。

你的系统上并不是一定非要安装可交互的SQLite程序;但是为了能够简化创建本教程所需要的一系列初始表格,你应该下载和安装这个程序。然后,为你的SQL查询创建一个示例表格,方法是创建一个空白的文本文件,将该文件名作为下列命令(列表A)的参数在交互命令提示符下执行二进制程序:

列表A


sqlite> CREATE TABLE users (id INTEGER PRIMARY KEY, username TEXT, country TEXT);
sqlite> INSERT INTO users VALUES (1, 'john', 'IN');
sqlite> INSERT INTO users VALUES (2, 'joe', 'UK');
sqlite> INSERT INTO users VALUES (3, 'diana', 'US');

一旦表格创建好了,下面就是使用PHP的SQLite方法建立一个脚本模板。(列表B)

列表B

// set access parameters
$db = "users.db";

// open database file
// make sure script has read/write permissions!
$conn = sqlite_open($db) or die ("ERROR: Cannot open database");

// create and execute INSERT query
$sql = "INSERT INTO users (id, username, country) VALUES ('5', 'pierre', 'FR')";
sqlite_query($conn, $sql) or die("Error in query execution: " .  sqlite_error_string(sqlite_last_error($conn)));

// create and execute SELECT query
$sql = "SELECT username, country FROM users";
$result = sqlite_query($conn, $sql) or die("Error in query execution: " . sqlite_error_string(sqlite_last_error($conn)));

// check for returned rows
// print if available
if (sqlite_num_rows($result) > 0) {
      while($row = sqlite_fetch_array($result)) {
             echo $row[0] . " (" . $row[1] . ") ";
      }
}

// close database file
sqlite_close($conn);
?>

在使用PHP的SQLite扩展执行SQL查询的时候,要按照下列四个简单步骤进行:

调用sqlite_open()函数来初始化数据库句柄。数据库的路径和文件名(要记住,SQLite是基于文件的,而不是像MySQL那样基于服务器)被作为自变量传递给函数。
创建SQL查询字符串,用sqlite_query()函数执行它。这些方法的结果对象会依据查询的类型以及它是否成功而有所不同。成功的SELECT查询会返回一个结果对象;成功的INSERT/UPDATE/DELETE查询会返回一个资源标识符;不成功的查询会返回“伪”。sqlite_error_string()和sqlite_last_error()方法能够被用来捕捉错误并显示相应的错误信息。
对于SELECT查询,结果对象可以被进一步处理,以便从中提取数据。当sqlite_fetch_array()函数用在循环里的时候会把每条记录作为PHP的数组取回。你可以通过调用数组合适的键来访问每条记录的各个字段。
调用sqlite_close()函数可以结束会话。

本文作者:佚名 来源:http://chinahtml.com
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读