MENU

新EPDB下载及使用说明

February 12, 2014 • 程序阅读设置

去年我写了一个名为EPDB的MySQL数据库类,当时也附带了这么一篇文章。这之后也做出了一两次调整,总的来说还是比较好使的,自己常用。这两天又把它翻了出来,改造了一下。主要调整:改用MySQLi扩展;部分逻辑修改。

类及示例代码下载

至于做出了哪些调整,不是本文的主要内容。但是注意一点:修改后使用上和原来还是有一些差异的,主要体现在程序完全信任程序员的代码,不会自己检查潜在的危险操作。这里对使用方法做一个说明。

第一部分:配置和使用。
打开文件,根据自己的情况配置好第12行至第17行的相关信息;
include 'epdb.php';包含文件,然后使用就行了。

第二部分:实例化对象。
方法:$db = new epdb(string $table);。实例化时必须传入一个参数,即不含表前缀的表头。例子:欲操作表名为app_user,则传入的参数为user。操作表在实例化后可以更改。

第三部分:特殊方法。
1.table()方法。
table()方法用于更改当前操作的表。
原型:void table(string $table);。参数:不含表前缀的表头。
*注:可直接操作table属性来达到相同效果。直接操作属性需要赋值为完整表名。
2.execute()方法。
execute()方法用于执行一条语句。
原型:mixed execute(string $query);。参数:完整语句。返回:失败时返回FALSE;成功执行SELECTSHOWDESCRIBEEXPLAIN查询会返回一个mysqli_result对象;其他查询则返回TRUE

第四部分:数据传入。
1.data()方法。
data()方法处理需要写入数据库的数据。
原型:object data(array $data);。参数:相关数据的关联数组。返回:返回对象自身即$this用于连贯操作。
2.where()方法。 where()方法处理WHERE子句部分,注意只有AND逻辑。
原型:object where(array $cond);object where(string $cond);。参数(1):相关数据的关联数组。参数(2):完整的WHERE子句字符串。返回:返回对象自身即$this用于连贯操作。
3.order()方法。
order()方法处理ORDER BY子句部分。
原型:object order(string $order, [string $type = 'ASC']);。参数:$order为排序基于的字段;$type为指定种类,ASC升序、DESC降序,默认升序。返回:返回对象自身即$this用于连贯操作。
4.limit()方法
limit()方法处理LIMIT子句部分。
原型:object limit(string $limit = '1');。参数:完整的LIMIT子句字符串。返回:返回对象自身即$this用于连贯操作。

第五部分:读数据方法(均为SELECT语句)。
1.select()方法。
select()方法返回全部字段数据结果集。
原型:array select(void);。返回:成功得到数据返回关联数组;执行失败或无数据返回NULL
可以使用的数据方法:where()order()limit()
2.find()方法。
find()方法返回一条数据。
原型:object find(void);。返回:成功得到数据返回关联对象;执行失败或无数据返回NULL
可以使用的数据方法:where()order();强制执行LIMIT 1
3.findArr()方法。
find()方法返回一条数据。
原型:array findArr(void);。返回:成功得到数据返回关联数组;执行失败或无数据返回NULL
可以使用的数据方法:where()order();强制执行LIMIT 1
4.getField()方法。
getField()方法返回指定字段数据结果集。
原型:array getField(string $columns);。返回:成功得到数据返回关联数组;执行失败或无数据返回NULL
可以使用的数据方法:where()order()limit()
5.count()方法。count()方法返回符合条件数据的行数。
原型:string count(void);。返回:成功得到数据返回符合条件数据的行数,类型为字符串;执行失败或无数据返回NULL
可以使用的数据方法:where()limit()

第六部分:写数据方法。
1.add()方法。
add()方法插入一条数据(INSERT语句)。
原型:bool add(void);。返回:成功返回布尔值true,失败返回布尔值false
必须先使用data()方法提交数据。
2.save()方法。
save()方法修改一条数据(UPDATE语句)。
原型:bool save(void);。返回:成功返回布尔值true,失败返回布尔值false
必须先使用data()方法提交数据。
3.setInc()方法。
setInc()方法对数字类型的字段进行加减(UPDATE语句)。
原型:bool setInc(string $field, [string $step = 1, string $math = '+']);。参数:$field为要操作的字段(限一个);$step为操作的数值;$math为标识符,使用中不需要特别理会。返回:成功返回布尔值true,失败返回布尔值false
可以使用的数据方法:where()order()limit();建议至少先使用where()方法。
4.setDec()方法。
setDec()方法对数字类型的字段进行减(UPDATE语句)。本方法通过调用setInc($field, $step, '-');实现。
原型:bool setInc(string $field, [string $step = 1);。参数:$field为要操作的字段(限一个);$step为操作的数值。返回:成功返回布尔值true,失败返回布尔值false
可以使用的数据方法:where()order()limit();建议至少先使用where()方法。
5.delete()方法。
delete()方法用于删除数据行(DELETE语句)。
原型:bool delete(void);。返回:成功返回布尔值true,失败返回布尔值false
必须先使用where()方法限定范围以避免全表被删除,清空表可使用execute("TURNCATE {$db->table}");,删除全表可先调用where('WHERE 1')。可以使用的数据方法:where()order()limit()

完。

Archives Tip
QR Code for this page
Tipping QR Code