blues911/query-builder

PDO 包装器,用于构建原生 SQL 查询。

0.2.0 2023-01-05 13:54 UTC

This package is auto-updated.

Last update: 2024-09-05 17:27:13 UTC


README

Build Status

PDO 包装器,用于构建原生 SQL 查询。

此包不遵循最佳实践或类似标准。它是为了测试目的而开发的,用于快速构建简单的 SQL 查询。

安装

composer require blues911/query-builder

示例

用法

require('vendor/autoload.php');

use QueryBuilder\Builder as DB;

// init connection
$db = new DB([
    'mysql:dbname=test;host=localhost;port=3306;charset=utf8',
    'root',
    'password'
]);

// query all
$db->query("SELECT * FROM users")
    ->build()
    ->fetchAll();

// query one
$db->query("SELECT * FROM users WHERE id=:id")
    ->bindParams(['id', 1])
    ->build()
    ->fetch();

// count
$db->query("SELECT * FROM users")
    ->build()
    ->rowCount();

// debug params
$db->query("SELECT * FROM users WHERE status=:status AND role=:role")
    ->bindParams([
        ['status', 1],
        ['role', 'admin']
    ])
    ->build()
    ->debugParams();

参数绑定

// array
->bindParams(['key1', 'value1']);
->bindParams(['key2', 'value2']);

// multidimensional array
->bindParams([
    ['key1', 'value1'],
    ['key2', 'value2']
]);

获取结果

// object
->fetch();
->fetchAll();

// array
->fetch(true);
->fetchAll(true);

PDO 语句 可通过直接调用获得

$db->errorCode();
$db->errorInfo();
$db->getAvailableDrivers();