phppackage/pdo-wrapper

This is my package, description.

v1.0.1 2018-02-06 18:29 UTC

This package is not auto-updated.

Last update: 2021-04-25 15:29:22 UTC


README

Build Status StyleCI Scrutinizer Code Quality Code Coverage Packagist Version Packagist Downloads

Yet another PDO wrapper which extends the PDO class and adds some additional suger.

Install

Require this package with composer using the following command:

$ composer require phppackage/pdo-wrapper

Usage example:

<?php
require 'vendor/autoload.php';

use PHPPackage\PDOWrapper\PDO;

// connect, a standard PDO constructor
$db = new PDO(
    'sqlite::memory:',
    'test_username',
    'test_password', 
    [
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
    ]
);

// or default to an sqlite file
$db = new PDO();

// get database info
$info = $pdo->info();

// get databases
$databases = $pdo->databases();

// get tables
$tables = $pdo->tables();

// create a database
$pdo->createDatabase('test');

// get database name (from dsn)
$name = $pdo->getDatabaseName();

// export database (mysql only)
$filename = $pdo->export('./'); // ./ = destination folder

// import database (mysql only)
$pdo->import('./backup.sql.gz');

// create
$pdo->run('INSERT INTO table_name (name) VALUES (?)', ['foo']);

// create - multi
$pdo->run('INSERT INTO table_name (name) VALUES (?)', [['foo'], ['bar'], ['baz']]);

// retrieve - PDOStatement
$stmt = $pdo->run('SELECT * FROM table_name');
$stmt = $pdo->run('SELECT * FROM table_name WHERE id = ?', [1]);
$stmt = $pdo->run('SELECT * FROM table_name WHERE id = :id', ['id' => 1]);

// retrieve - single row
$result = $pdo->row('SELECT * FROM table_name WHERE id = ?', [1]);
$result = $pdo->row('SELECT * FROM table_name WHERE id = :id', ['id' => 1]);

// retrieve - single cell
$result = $pdo->cell('SELECT column FROM table_name WHERE id = ?', [1]);
$result = $pdo->cell('SELECT column FROM table_name WHERE id = :id', ['id' => 1]);

// retrieve - all array
$result = $pdo->all('SELECT * FROM table_name');
$result = $pdo->all('SELECT * FROM table_name WHERE id = ?', [1]);
$result = $pdo->all('SELECT * FROM table_name WHERE id = :id', ['id' => 1]);

// update
$pdo->run('UPDATE table_name SET column = ? WHERE id = ?', ['foo', 1]);

// delete
$pdo->run('DELETE FROM table_name WHERE id = ?', [1]);

// .. and all other standard PDO functionality

Testing

$ composer test

Contributing

Please see CONTRIBUTING for details.

Credits

License

The MIT License (MIT). Please see License File for more information.