dengsn/database-wrapper

Database wrapper for PDO


Keywords
database, pdo, pdo-wrapper, php, php7
License
GPL-3.0+

Documentation

Installation

Database-wrapper is available as dengsn/database-wrapper in the packagist repository. If you're using Composer this is the preferred way of installing the library. Alternatively you can download the source code directly.

Using the wrapper

Creating a new instance

$db = new Database\Database(string $dsn, string $username = '', string $password = '', array $options = []);

The arguments of the constructor are the same as when creating a new PDO object. The $username, $password and $options arguments default to an empty string or array if they're not given.

Furthermore you can use every function of the PDO class directly on the Database class because of an internal __call function that forwards unknown function calls to the underlying PDO object.

Select queries

$db->select(string $table, array $where = [], string $order = '');
$db->selectOne(string $table, array $where = [], string $order = '');

The select and selectOne functions perform a "SELECT" query to the table provided by the $table argument.

Arguments

  • $table: the table to select from.
  • $where: an associative array consisting of key-value pairs that are treated as "WHERE" clause. The pairs are merged using "OR" operators or "LIKE" clauses.
  • $order: specifies a string that is appended as an "ORDER BY" argument.

Return value

select returns an array of matched rows in the table while selectOne returns only the first row (thr result of "LIMIT 1"). The rows are associative arrays with keys that match the column name.

Insert, update and delete queries

$db->insert(string $table, array $object);
$db->update(string $table, array $object, array $where);
$db->delete(string $table, array $where);

The insert, update and delete functions perform "INSERT", "UPDATE" and "DELETE" queries respectively.

Arguments

  • $table: the table to perform the query on.
  • $object: an array of key-value pairs that represent the row to insert/update. The keys of the array represent the column names.
  • $where: an associative array consisting of key-value pairs that are treated as "WHERE" clause.

Return value

All three functions return the number of rows that were affected by the query.