1.3 Operations of sqlCon
数据库的连接已经实现了,具体的使用还没有进行封装。接下来进行链式操作的方法的封装,准备实现以下列表中的方法:
方法名 | 实现的功能 |
---|---|
table() | 指定要连接的表 |
field() | 指定要查询的字段 |
alias() | 别名 |
where() | 查询条件 |
join() | 关联 |
limit() | 查询数量限制 |
order() | 排序 |
group() | 分组 |
findAll() | 查询所有记录 |
findOne() | 查询单个记录 |
find() | 查询记录,数量由limit控制,默认全部 |
count() | 查询数量 |
sum() | 指定字段求和 |
value() | 查询指定字段的一条记录 |
column() | 查询指定字段的多条记录 |
insert() | 插入单条记录 |
insertAll() | 插入多条记录 |
update() | 数据更新 |
query() | 执行原生查询语句 |
execute() | 执行原生插入和更新语句 |
getDbError() | 获取本次数据库执行的错误信息 |
getSql() | 返回本次拼接后的完整SQL语句 |
Step1
:在core
下创建Db.php
,用于实现上述方法列表。主要的思想是在这些方法中接收参数,然后再在findAll/findOne/find/count/sum/value/column/insert/insertAll/update
等方法中组合得到需要执行的SQL
,再设定一个方法运行SQL
得到结果。以下是仅编写了find/findAll/findOne
之后的Db.php
:
<?php
namespace core;
use core\Config;
use core\db\Mysql;
class Db
{
public static $instance;
private static $dbCon;
public static $cfg;
private $tname;
private $fields = '';
private $alias;
private $condition;
private $join;
private $order;
privat