Some helpers for database task and query construction.

Installs: 5

Dependents: 0

Suggesters: 0

Security: 0

Stars: 1

Watchers: 1

Forks: 0

pkg:composer/inanepain/db

0.3.0 2025-11-20 18:32 UTC

This package is auto-updated.

Last update: 2025-11-24 18:53:46 UTC


README

Table of Contents

icon inanepain/db

Some helpers for database task and query construction.

1. Install

Example 1. composer

composer require inanepain/db

2. Usage

2.1. SQLQueryBuilder

$qb = new SQLQueryBuilder();
$query = $qb
    ->select('users', ['name', 'email', 'password'])
    ->where('age', 18, '>')
    ->where('age', 30, '<')
    ->limit(10, 20);

echo "-- Testing MySQL query builder:\n";
echo $qb->getSQLFor(new MysqlQueryBuilder());

echo "\n\n";

echo "-- Testing PostgresSQL query builder:\n";
echo $qb->getSQLFor(new PostgresQueryBuilder());

Which should give you:

-- Testing MySQL query builder:
SELECT name, email, password FROM users WHERE age > 18 AND age < 30 LIMIT 10, 20;

-- Testing PostgresSQL query builder:
SELECT name, email, password FROM users WHERE age > 18 AND age < 30 LIMIT 10 OFFSET 20;

2.1.1. Where

Restricting your queries with where clauses.

$wheres = [
    ['views', 10, '>'],
    new WhereClause('favourite', 1),
    ['name', 'Bob'],
    [['name', 'John']],
];

$qb = new SqliteQueryBuilder();
$qb->select('fortunes', ['fortune'])
    // ->where('views', 10, '>')
    ->wheres($wheres)
;

echo((string)$qb);

Which should give you:

SELECT fortune FROM fortunes WHERE views > 10 and favourite = 1 and name = 'Bob' or name = 'John';

3. Revision

version: $Id$ ($Date$)