ezSQL PHP数据库操作类库

新版本是2.05添加了很多支持,包括 CodeIgniter,MSSQL, PDO 等等 
我之前也为 CodeIgniter 写过一次,不过只支持 MySQL 

看看使用示例
其实也没什么难度,直接看源代码即可,主要是程序设计的思想很好。 

Example 1 
---------------------------------------------------- 

// Select multiple records from the database and print them out.. 
$users = $db->get_results("SELECT name, email FROM users"); 
foreach ( $users as $user ) { 
// Access data using object syntax 
echo $user->name; 
echo $user->email; 

Example 2 
---------------------------------------------------- 

// Get one row from the database and print it out.. 
$user = $db->get_row("SELECT name,email FROM users WHERE id = 2"); 
echo $user->name; 
echo $user->email; 
Example 3 
---------------------------------------------------- 

// Get one variable from the database and print it out.. 
$var = $db->get_var("SELECT count(*) FROM users"); 
echo $var; 
Example 4 
---------------------------------------------------- 

// Insert into the database 
$db->query("INSERT INTO users (id, name, email) VALUES (NULL,'justin','jv@foo.com')"); 
Example 5 
---------------------------------------------------- 

// Update the database 
$db->query("UPDATE users SET name = 'Justin' WHERE id = 2)"); 
Example 6 
---------------------------------------------------- 

// Display last query and all associated results 
$db->debug(); 
Example 7 
---------------------------------------------------- 

// Display the structure and contents of any result(s) .. or any variable 
$results = $db->get_results("SELECT name, email FROM users"); 
$db->vardump($results); 
Example 8 
---------------------------------------------------- 

// Get 'one column' (based on column index) and print it out.. 
$names = $db->get_col("SELECT name,email FROM users",0) 
foreach ( $names as $name ) { 
echo $name; 

Example 9 
---------------------------------------------------- 

// Same as above ‘but quicker' 
foreach ( $db->get_col("SELECT name,email FROM users",0) as $name ) { 
echo $name; 

Example 10 
---------------------------------------------------- 

// Map out the full schema of any given database and print it out.. 
$db->select("my_database"); 
foreach ( $db->get_col("SHOW TABLES",0) as $table_name ) { 
$db->debug(); 
$db->get_results("DESC $table_name"); 

$db->debug();

EZSQL类介绍: 

ezsql是一个小型的快速的数据库操作类,可以让你很容易地用PHP操作各种数据库( MySQL、oracle8/9 、interbase、FireBird、PostgreSQL、MS-SQL、sqlite、sqlite C++)。 
在你的脚本开头是要包含一个一个PHP文件。然后,你就可以使用更小、更容易的一套ezsql函数来代替标准的PHP数据库函数。 
它会自动缓存的查询结果,提供了一系列简单的函数操作及扩展,并且没有造成额外的服务器开销 
它具有优良的调试功能,使你快速的判断SQL语句的执行过程 
ezsql函数可以返回的结果是对象,关联数组,或数值数组 
它可以大大缩短开发时间,并在大多数情况下,将简化您的代码,让其跑得更快,以及很容易调试和优化您的数据库查询语句。 
这是一个小类,在你的网站上并不会增加很大的开销。 

类中有以下的方法: 
- $db->get_results – 从数据库中读取数据集 (or 之前缓存的数据集) 
- $db->get_row — 从数据库中读取一条数据 (or 之前缓存的数据) 
- $db->get_col – 从数据库中读取一列指定数据集 (or 之前缓存的数据集) 
- $db->get_var — 从数据库数据集中读取一个值 (or 之前缓存的数据) 
- $db->query — 执行一条sql语句(如果有数据,就缓存起来) 
- $db->debug – 打印最后执行的sql语句与返回的结果(如果有结果) 
- $db->vardump – 打印变量的结构及内容 
- $db->select — 选择一个新数据库 
- $db->get_col_info – 获取列的信息 
- $db->donation – 捐钱给作者用的 
- $db->escape – 格式化插入数据库的字符串,eg:mysql_escape_string(stripslashes($str)) 
- $db->flush – 清除缓存 
- $db->get_cache – 换取缓存 
- $db->hide_errors – 隐藏错误 
- $db->register_error – 注册错误 
- $db->show_errors – 显示错误 
- $db->store_cache – 存储到缓存 
- $db->sysdate – 获取系统时间 
- $db = new db — 建立一个新db对象. 

wordpress对ezsql进行了修改,同时也使其仅适用于mysql 

wordpress修改后的一些类操作也就是函数如下: 

function query($query) 
这个函数是 WPDB 最基本的函数,$query 为 SQL 语句,提交给数据库查询,结果分二种情况: 
1. 如果是 “insert|delete|update|replace”, 返回受影响行数,在 “insert|replace”的情况下,用 $this->insert_id 记录新插入的ID。 
2. 如果是 “select”,用 $this->last_result 记下查询结果集,返回查询到的记录行数。 

function escape($string) 
使用反斜线引用字符串,即使用魔术引号。 

function insert($table, $data) 
这是插入记录函数,第一个参数是表的字段数组,第二个是数据数组。插入数据返回1,否则为0。 

function update($table, $data, $where) 
这是更新纪录函数,第一个参数是表的字段数组,第二个是数据数组,第三个是条件数组,它是一个 nane array。更新了为1,否则为0。 

function get_var($query=null, $x = 0, $y = 0) 
如果 $query 不为空,首先执行查询,然后返回第 X 列 Y 行的值。 

function get_row($query = null, $output = OBJECT, $y = 0) 
返回一行,$outpu 指定返回的类型,可以是 ARRAY_A,ARRAY_N 或者 OBJECT。$y 指定第几行。 

function get_col($query = null , $x = 0) 
返回一列,$x 指定第几列。 

function get_results($query = null, $output = OBJECT) 
返回查询结果集,可以以 ARRAY_A,ARRAY_N 或者 OBJECT 三种方式返回。 

function get_col_info($info_type = ‘name', $col_offset = -1) 
返回字段信息。 

其他还有一些函数,这里不详细讲了。另外还有两个全局变量,SAVEQUERIES 和 WP_DEBUG,第一个是,可以让你把访问页面执行的查询把保存到 $this->queries 这个数组中,以后调试的时候使用,WP_DEBUG 则让你把错误输出。这两个默认都没有打开,你测试的时候可以在 wp_config.php 中将其开启。 


转载:http://www.jb51.net/article/23515.htm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值