摘要:编写起因 本人很多站长竟然不会sql,这也太让人失望了,于是我就封装...
编写起因
本人很多站长竟然不会sql,这也太让人失望了,于是我就封装了这个类库!
版权声明
本类库为本人原创,希望转载或者复制标明出处,本类库基于pdo,需要服务器开pdo扩展。
支持方法链!理论支持所有数据库!内置封装sql仅支持mysql!代码文档
方法及说明
+----------------------------------------------------------------------+
作者:平平
+----------------------------------------------------------------------+
功能:数据库操作类库
+----------------------------------------------------------------------+
网站:http://blog.setbug.com
+----------------------------------------------------------------------+
邮箱:pingping@setbug.com
+----------------------------------------------------------------------+
备注:转载请标明作者,如有BUG请发邮箱指正
+----------------------------------------------------------------------+
版权声明:
本类库为本人原创,希望转载或者复制标明出处,
如有BUG请联系我指正。本类库基于pdo,需要服务器开pdo扩展。
支持方法链!理论支持所有数据库!内置封装sql仅支持mysql!
类库不断更新,请支持正版!
+----------------------------------------------------------------------+
方法及说明
__construct($type = null, $host = null, $user = null, $pass = null, $dbName = null)
//构造方法,参数可为空,若为空则需使用setter方法或connection方法,默认不会连接数据库需要调用connection返回
createDb()
//创建数据库,$this->dbName,自动打开事务
//返回当前对象或失败信息,可以使用链式方法
dropDb()
//删除数据库,$this->dbName,自动打开事务
//返回当前对象或失败信息,可以使用链式方法
createTable($tbarray)
//创建数据表,数据库为$this->dbName,自动打开事务
//$tbarray为二维关联数组,键为列名,值为列数据类型,如:['user'=>['id'=>'INT NOT NULL PRIMARY KEY','name'=>'varchar(20)']]
//返回当前对象或失败信息,可以使用链式方法
dropTable($tab)
//删除数据表,$tab,自动打开事务
//返回当前对象或失败信息,可以使用链式方法
connection($type = null, $host = null, $user = null, $pass = null, $dbName = null)
//连接数据库
//返回当前对象或失败信息,可以使用链式方法
setUtf8()
//设置UTF-8编码,防止中文乱码
//返回当前对象,可以使用链式方法
close()
//关闭数据库连接,若后面代码无数据库操作可手动关闭,一般不用手动关闭
__destruct()
//析构方法,关闭数据库连接
setType($type)
setHost($host)
setDbName($dbName)
setUser($user)
setPass($pass)
//setter方法,可设置数据库配置
transaction()
//手动打开事务,在执行自定义sql时有用,内置sql封装自动打开事务
//返回当前对象或失败信息,可以使用链式方法
commit()
//手动提交事务,手动打开事务后需手动提交,否则无效
//返回当前对象或失败信息,可以使用链式方法
rollback()
//回滚事务,手动打开事务出错后可手动回滚
//返回当前对象或失败信息,可以使用链式方法
execute($sql)
//执行自定义sql,返回受影响的行数
queryOne($sql)
//执行自定义查询sql,返回结果集关联数组的第一列
queryAll($sql)
//执行自定义查询sql,返回结果集关联数组
selectOne($option, $tbname, $where, $order=null, $limit=null)
//执行内置查询
//$option为查询的列,字符串或一维索引数组,如:'*','id',['id','name'],'id,name'
//$tbname为数据表名,字符串或一维索引数组,如:'stu','stu as s',['stu','teacher'],'stu,teacher'
//$where为条件,字符串或一维索引数组或二维索引数组,如:'id=1',['id','=','2'],[['','id','=','2'],['and','name','=','pingping']]
//$order为排序参照列,字符串,如:'id'
//$limit为查询指定位置数据,字符串,如:'0,2','开始位置,长度'
//返回结果集关联数组的第一列
selectAll($option, $tbname, $where, $order=null, $limit=null)
//执行内置查询,参数同selectOne方法
//返回结果集关联数组
returnSelectSql($option = '', $tbname = '', $where = '', $order = '', $limit = '')
//执行sql拼装,参数同selectOne方法
//返回拼装后的sql语句
insert($tbname, $arr)
//插入数据,$tbname为表名
//$arr为一维索引数组或二维索引数组,参数列数与数据库列数需相同,如:['1','pingping'],[['1','pingping'],['2','pingping2']]
//返回当前对象或失败信息,可以使用链式方法
delete($tbname, $where)
//删除数据,$tbname为表名
//$where为条件,字符串或一维索引数组或二维索引数组,如:'id=1',['id','=','2'],[['','id','=','2'],['and','name','=','pingping']]
//返回当前对象或失败信息,可以使用链式方法
update($option, $tbname, $where)
//删除数据,$tbname为表名
//$option为修改的列及值,字符串或一维关联数组,如:'id=3',['name'=>'pingping']
//$where为条件,字符串或一维索引数组或二维索引数组,如:'id=1',['id','=','2'],[['','id','=','2'],['and','name','=','pingping']]
//返回当前对象或失败信息,可以使用链式方法
insertId()
//返回上次插入操作后最后一行的id
rowCounts()
//返回受上一个sql语句影响的行数
errorCode()
//返回上一个sql语句错误码
errorinfo()
//返回上一个sql语句错误信息
quote($str)
//返回给sql语句添加引号并转义,内置sql封装自动执行
help($isHtml=1)
//输出帮助信息,即本文档
例子
(new dbPdo('mysql','localhost','dbname','root','password'))->createDb()->setUtf8()->createTable(array('tablename'=>'id int'))->selectOne('*','tablename',['id','=','1']));
文档地址
详细文档地址:http://api.setbug.com/api/sql/doc.api下载地址