twoleds/database

Simple interface for accessing databases.

v1.0 2019-02-03 11:02 UTC

This package is auto-updated.

Last update: 2025-06-29 02:00:40 UTC


README

This package provides simple interface for accessing databases.

Example

$database = ...; // Instance of DatabaseInterface

$userId = $database->insert(
    'INSERT INTO user (name, email) VALUES (?, ?)',
    'Spike',
    'spike@example.com'
);

$users = $database->select(
    'SELECT * FROM user WHERE email LIKE ?',
    '%@example.com'
);

$count = $database->selectField(
    'SELECT COUNT(*) FROM user WHERE email LIKE ?',
    '%@example.com'
);

$user = $database->selectRow(
    'SELECT * FROM user WHERE id = ?',
    123
);

$database->update(
    'UPDATE user SET name = ? WHERE id = ?',
    'Xavier',
    123
);

$database->update(
    'DELETE user WHERE id = ?',
    123
);

$database->transactional(function ($database) {
    $counter = $database->selectField(
        'SELECT counter FROM user WHERE id = ? FOR UPDATE',
        123
    );
    $counter = $counter + 1;
    $database->update(
        'UPDATE user SET counter = ? WHERE id = ?',
        123
    );
});