Thinkphp 框架扩展之数据库驱动常用方法小结

2020-11-02 15:38:52 浏览数 (1)

本文实例讲述了Thinkphp 框架扩展之数据库驱动常用方法。分享给大家供大家参考,具体如下:

数据库驱动

默认的数据库驱动位于ThinkDbDriver命名空间下面,驱动类必须继承ThinkDb类,每个数据库驱动必须要实现的接口方法包括(具体参数可以参考现有的数据库驱动类库):

驱动方法

方法说明

架构方法

__construct($config=”)

数据库连接方法

connect($config=”,$linkNum=0,$force=false)

释放查询方法

free()

查询操作方法

query($str)

执行操作方法

execute($str)

开启事务方法

startTrans()

事务提交方法

commit()

事务回滚方法

rollback()

获取查询数据方法

getAll()

获取字段信息方法

getFields($tableName)

获取数据库的表

getTables($dbName=”)

关闭数据库方法

close()

获取错误信息方法

error()

SQL安全过滤方法

escapeString($str)

数据库的CURD接口方法(通常这些方法无需重新定义)

方法

说明

写入

insert($data,$options=array(),$replace=false)

更新

update($data,$options)

删除

delete($options=array())

查询

select($options=array())

介于不同数据库的查询方法存在区别,所以经常需要对查询的语句进行重新定义,这就需要修改针对查询的selectSql属性。该属性定义了当前数据库驱动的查询表达式,默认的定义是:

‘SELECT%DISTINCT% %FIELD% FROM %TABLE%%JOIN%%WHERE%%GROUP%%HAVING%%ORDER%%LIMIT% %UNION%’

驱动可以更改或者删除个别查询定义,或者更改某个替换字符串的解析方法,这些方法包括:

方法名

说明

对应

parseTable

数据库表名解析

%TABLE%

parseWhere

数据库查询条件解析

%WHERE%

parseLimit

数据库查询Limit解析

%LIMIT%

parseJoin

数据库JOIN查询解析

%JOIN%

parseOrder

数据库查询排序解析

%ORDER%

parseGroup

数据库group查询解析

%GROUP%

parseHaving

数据库having解析

%HAVING%

parseDistinct

数据库distinct解析

%DISTINCT%

parseUnion

数据库union解析

%UNION%

parseField

数据库字段解析

%FIELD%

驱动的其他方法根据自身驱动需要和特性进行添加,例如,有些数据库的特殊性,需要覆盖父类Db类中的解析和过滤方法,包括:

方法名

说明

parseKey

数据库字段名解析

parseValue

数据库字段值解析

parseSet

数据库set分析

parseLock

数据库锁机制

定义了驱动扩展后,需要使用的时候,设置相应的数据库类型即可:

代码语言:javascript复制
'DB_TYPE'= 'odbc', // 数据库类型配置不区分大小写

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

0 人点赞