alexccavaco/database

PHP MySQL 数据库查询构建器

0.1.7 2020-12-05 22:00 UTC

This package is auto-updated.

Last update: 2024-09-06 06:20:19 UTC


README

PHP 数据库查询构建器

可以从以下四个类开始构建: DBDeleteDBInsertDBSelectDBUpdate

这些类对应于等效的 MySQL 查询。

安装

  composer require alexccavaco/database

示例

选择查询

  $r=DBSelect::from('table')
    ->select('*')
    ->where('column1 = ?', $data1)
    ->where('column2 = ?', $data2)
    ->orderBy('name')
    ->run($db);

  $r->fetch(\PDO::FETCH_ASSOC);

删除查询

  $r=DBUpdate::table('table')
    ->set('column','?',$param)
    ->setAll(['column'=>$param,'anotherCol'=>$param2])
    ->where('column = ?','data')
    ->run($db);

  $r->fetch(\PDO::FETCH_ASSOC);

插入查询

  $r=DBInsert::into('table')
    ->value('column1',$param1)
    ->value('column2',$param2,true) //The third parameter if true automatically sets On Duplicate Update
    ->values(['column'=>$param])
    ->run($db);

  $r->fetch(\PDO::FETCH_ASSOC);

删除查询

  $r=DBDelete::from('table')
    ->where('column = ?','data')
    ->limit(2)
    ->run($db);

  $r->fetch(\PDO::FETCH_ASSOC);

可以创建复杂查询,使用连接(joins)、having... 等,但这些都是一些示例。

数据库类

此软件包包含一个数据库类。此类默认设置一些属性(例如使用异常处理错误和模拟预处理语句),其构造函数简化了字符集和时区设置。

包含两个函数:

  • prepRun - 简化语句的准备,在返回之前准备和执行它们
  • logStatement - 接收 PSR Logger 和日志类型,以记录每个查询和参数(用于调试)

此类完全可选。