m / db
1.0.11
2023-08-02 13:28 UTC
Requires (Dev)
README
A small mysql library.
Installation
composer require m/db
Usage
$db = \m\Db::open([ "host" => "db01.internal", "user" => "app", "pass" => "secret", "db" => "shop", ]); $query = "SELECT * FROM cart WHERE user_id = :user_id"; $params = [ "user_id" => 123, ]; $rows = $db->read($query, $params); // returns array of associative arrays $query = "UPDATE cart SET updated = NOW() WHERE id = :id"; $params = [ "id" => 456, ]; $affected = $db->write($query, $params); // returns number of affected rows
API
interface DbInterface { public static function open($config); public function config($key = null, $value = null); public function read($query, array $params = []); public function write($query, array $params = []); }
The config can be parsed from a URL and changed at will:
use \m\Db; $db = Db::open("mysql://username:password@host/db"); $db = Db::open($_ENV["DATABASE_URL"]); $currHost = $db->config("host"); // get current config value $oldValue = $db->config("host", "db02.internal"); // change one item, returns old value $config = $db->config(); // get all config values