db-controller
Php PDO wrapper
Installation
Installation is super-easy via Composer:
composer require peterujah/db-controller
USAGES
Initialize DBController with configuration array
$handler = new \Peterujah\NanoBlock\DBController($configArray);
Or extend \Peterujah\NanoBlock\DBController
to set your connection details like below
class Conn extends \Peterujah\NanoBlock\DBController{
public function __construct(bool $development = false){
$config = array(
"PORT" => 3306,
"HOST" => "localhost",
"VERSION" => "mysql",
);
if($development){
$config["USERNAME"] = "root";
$config["PASSWORD"] = "";
$config["NAME"] = "dbname";
}else{
$config["USERNAME"] = "dbusername";
$config["PASSWORD"] = "dbpass";
$config["NAME"] = "dbname";
}
$this->onDebug = $development;
$this->config = $config;
$this->onCreate();
}
}
Initialize your custom class
$handler = new Conn($_SERVER["HOST_NAME"]=="localhost");
Now run query select, insert, update, delete etc.. using prepare statment
$handler->prepare('SELECT * FROM users WHERE username = :username LIMIT 1');
$handler->bind(':username', "Peter");
$handler->execute();
$res = $handler->getOne();
$handler->free();
Or run query select, insert, update, delete etc.. using query
$handler->query('SELECT * FROM users');
$res = $handler->getAll();
$handler->free();
| Options | Description |
|-----------------|-------------------------------------------------------------------------------------|
| prepare(string) | Call "prepare" with sql query string to prepare query execution |
| query(string) | Call "query" width sql query without "bind" and "param" |
| bind(param, value, type) | Call "bind" to bind value to the pdo prepare method |
| param(param, value, type) | Call "param" to bind parameter to the pdo statment |
| execute() | Execute prepare statment |
| rowCount() | Get result row count |
| getOne() | Get one resault row, this is useful when you set LIMIT 1 |
| getAll() | Retrieve all result |
| getInt() | Gets integer useful when you select COUNT() |
| getAllObject() | Gets result object |
| getLastInsertedId() | Gets list inserted id from table |
| free() | Free database connection |
| dumpDebug() | Dump debug sql query parameter |
| errorInfo() | Print PDO prepare statment error when debug is enabled |
| error() | Print connection or execution error when debug is enabled |
| setDebug(bool) | Sets debug status |
| setConfig(array) | Sets connection config array |
| conn() | Retrieve DBController Instance useful when you call "setConfig(config)" |
Connection Config array example
[
PORT => 3306,
HOST => "localhost",
VERSION => "mysql",
NAME => "dbname",
USERNAME => "root",
PASSWORD => ""
]