PHP PDO_class
简介
说明
PHP PDO_class
是一个xlogion个人整理使用的PHP MYSQL PDO class,自带分页。
尝试让它看上去更加的:结构清晰、使用简单、扩展性良好。
基础需求
PHP>=5.3
当然,你修改下命名空间,就可以支持低版本。
是一个xlogion个人开发整理使用的PHP MYSQL PDO class。
尝试让它看上去更加的:结构清晰、使用简单、扩展性良好。
PHP PDO_class
基础使用
```
$db_config=array(
'host' => XLOGION_DB_HOST,
'port' => XLOGION_DB_PORT,
'dbname' => XLOGION_DB_NAME,
'username' => XLOGION_DB_USERNAME,
'password' => XLOGION_DB_PASSWORD,
'charset' => 'utf8',
'tablepre' => 'test_'
);
$db = new xlogionpdo_class($db_config);
```
db_config
参数说明
host
数据库地址
port
数据库端口
dbname
数据库名
username
用户名
password
密码
charset
数据库字符编码
tablepre
表前缀
系统约定(这里我们说好的)
table
表(不需要加上前缀tablepre
)
fields
字段
where
条件
@的使用
在where里,比如id,前面加上@将不在生成 id=XX的格式,直接采用 idXX
比如
'id'=>1 //id=1 '@id'=>'>0' //id>0
orderby
order by
groupby
group by
value
在插入,更新的时候生效,就是value
通用表前缀
tablepre
$db->tablepre 请看以下示例,之后不在说明
查询一条数据
first
效率会高于多条查询
例子
$query=array( 'table'=>'test', 'fields'=>'*', 'where'=>array( 'id'=>1 ) );
$temp=$db->first($query);
$query=array( 'table'=>'test', 'fields'=>'*', 'where'=>array( '@id'=>'=1' ) );
$temp=$db->first($query);
$query=array( 'table'=>'test', 'fields'=>'*', 'where'=>'id=1' );
$temp=$db->first($query);
$query=array('sql'=>'select * from test_test where id=1');
or
$query=array('sql'=>'select * from '.$db->tablepre.'test where id=1');
$temp=$db->first($query);
$db->bind(array('id'=>1));
$query=array('sql'=>'select * from test_test where id=:id');
or
$query=array('sql'=>'select * from '.$db->tablepre.'test where id=:id');
$temp=$db->first($query);
注意
$db->bind可以循环多次使用,传递多个不同参数
返回
$temp= Array ( [id] => 1 [title] => 1 [body] => 2 )
不在重复的声明
以上示例的写法,适用于下面任何一个方法
查询多条数据
select
例子
同上,将 first 替换为 select 只举一个例子
$query=array( 'table'=>'test', 'fields'=>'*', 'where'=>array( '@id'=>'>0' ) );
$temp=$db->select($query);
返回
$temp =
Array(
[0] => Array
(
[id] => 1
[title] => 1
[body] => 2
)
[1] => Array
(
[id] => 2
[title] => 1
[body] => 3
)
[2] => Array
(
[id] => 3
[title] => 1
[body] => 1
)
[3] => Array
(
[id] => 4
[title] => 1
[body] => 1
)
)
分页方法
page
增加的参数
page 页数
limit 返回多少条记录
page_limit 返回的页码(以当前页为中间值)
使用场景如下图红框
例子
$query=array( 'table'=>'test', 'fields'=>'*', 'orderby'=>array( '@id'=>'>0' ), 'page'=>1, 'limit'=>2, 'page_limit'=>5 ); $temp=$db->page($query);
返回
$temp =
Array
(
[max_page] => 2
[this_page] => 1
[total] => 4
[result] => Array
(
[0] => Array
(
[id] => 1
[title] => 1
[body] => 2
)
[1] => Array
(
[id] => 2
[title] => 1
[body] => 3
)
)
[page] => Array
(
[0] => 1
[1] => 2
)
)
max_page 最大页
this_page 当前页
total 总记录数
result 结果集
page 请看上图
防溢出机制
当你传递的page大于max_page时候,返回会自动过滤成最后一页
插入一条数据
insert
注意数组里的value
例子
$query=array( 'table'=>'test', 'value'=>array( 'title'=>'ttt', 'body'=>'ttt' ) );
$temp=$db->insert($query);
返回
$temp =
Array(
[count] => 1
[insert_id] => 5
)
count 本次执行的记录数(可以用来判断插入是否成功)
insert_id 插入之后获取的ID
更新一条数据
update
注意数组里的新加的where
例子
$query=array( 'table'=>'test', 'value'=>array( 'title'=>'ttt', 'body'=>'ttt' ), 'where'=>array( 'id'=>'2' ) );
$temp=$db->update($query);
返回
$temp =
Array(
[count] => 1
)
count 本次执行的记录数(可以用来判断更新是否成功)
删除一条数据
del
去除value
即可 其实你保留的话,也不会执行
例子
$query=array( 'table'=>'test', 'where'=>array( 'id'=>'2' ) );
$temp=$db->del($query);
返回
$temp =
Array(
[count] => 1
)
count 本次执行的记录数(可以用来判断删除是否成功)
版权声明:
1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。2、网站不提供资料下载,如需下载请到原作者页面进行下载。
3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考学习用!
4、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。