cahkampung / landa-db
MySQL POD 库
Requires
- php: >=5.4
- ext-pdo: *
README
简单的 MySQL PDO CRUD 库
安装
使用 Composer 安装
将 cahkampung/landa-db
添加到 composer.json 中的 require 部分
"require": { "cahkampung/landa-db": "^1.2" },
运行 composer install
如何使用
连接
$config = [
'DB_DRIVER' => 'mysql',
'DB_HOST' => 'localhost',
'DB_USER' => 'root',
'DB_PASS' => 'password',
'DB_NAME' => 'database',
'CREATED_USER' => 'created_by',
'CREATED_TIME' => 'created_at',
'CREATED_TYPE' => 'int',
'MODIFIED_USER' => 'modified_by',
'MODIFIED_TIME' => 'modified_at',
'MODIFIED_TYPE' => 'int',
'DISPLAY_ERRORS' => false,
'USER_ID' => $_SESSION['user']['id'],
];
$db = new Cahkampung\Landadb($config);
插入
$db->insert(TABLE_NAME, DATA);
示例
$data = [
'name' => 'john',
'email' => 'john@example.com'
];
$db->insert('user_table', $data);
更新
$db->update(TABLE_NAME, DATA, PARAMS);
示例
$data = [
'name' => 'john',
'email' => 'john@example.com'
];
$db->update('user_table', $data, ['id' => 1]);
删除
$db->delete(TABLE_NAME, PARAMS);
示例
$db->delete('user_table', ['id' => 1]);
选择
select()
select(FIELDS)
FIELDS 可以是数组格式,默认值为 *
from()
from(TABLE)
where()
where(FIELD_NAME, FILTER, VALUE)
andWhere()
andWhere(FIELD_NAME, FILTER, VALUE)
orWhere()
andWhere(FIELD_NAME, FILTER, VALUE)
customWhere()
customWhere(WHERE_STRING, FILTER)
默认过滤器为 And
示例
customWhere('name = "john" or nationallity = "indonesia"', 'AND');
将生成 AND (name="john" or nationallity="indonesia");
join()
join(JOIN TYPE, TABLE, ONCLAUSE)
leftJoin()
leftJoin(TABLE, ONCLAUSE)
rightJoin()
rightJoin(TABLE, ONCLAUSE)
innerJoin()
innerJoin(TABLE, ONCLAUSE)
limit()
limit(INT)
offset()
offset(INT)
orderBy()
orderBy(FIELD)
groupBy
groupBy(FIELD)
findAll()
从查询中获取所有结果
示例
$db->findAll('select * from user_table where name like "%john%" order by name ASC limit 10 offset 0');
或
$db->select()
->from('user_table')
->where('name','LIKE','john')
->limit(10)
->offset(0)
->orderBy('name ASC')
$getUsers = $db->findAll();
find()
从查询中获取 1 个结果
示例
$db->find('select * from user_table where name like "%john%" order by name ASC');
或
$db = new Cahkampung\Landadb;
$db->select()
->from('user_table')
->where('name','LIKE','john')
->orderBy('name ASC')
$getUsers = $db->find();