WordPress 使用的是一个数据库操作类: ezSQL wpdb类源代码
ezsql是一个小型的快速的数据库操作类,可以让你很容易地用PHP操作各种数据库( MySQL、oracle8/9 、interbase、FireBird、PostgreSQL、MS-SQL、sqlite、sqlite C++)。 在你的脚本开头是要包含一个一个PHP文件。然后,你就可以使用更小、更容易的一套ezsql函数来代替标准的PHP数据库函数。 它会自动缓存的查询结果,提供了一系列简单的函数操作及扩展,并且没有造成额外的服务器开销 它具有优良的调试功能,使你快速的判断SQL语句的执行过程 ezsql函数可以返回的结果是对象,关联数组,或数值数组 它可以大大缩短开发时间,并在大多数情况下,将简化您的代码,让其跑得更快,以及很容易调试和优化您的数据库查询语句。 wordpress对ezsql进行了修改,同时也使其仅适用于mysql。
以下是主要函数的基本介绍
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) 返回字段信息。
这些函数对于一些基本的操作已经足够了,并且这是一个小类,对于资源占用和执行效率不会增加很大的开销。下篇开始分析每个函数的代码,准备向.net移植,做一个简单的。net数据库操作类。