Download the latest release, create the directory ModernPDO
in your library directory, and drop ModernPDO/src/
into [lib-dir]/ModernPDO/
.
Create the new ModernPDO instance:
// NOTE:
// If $type/$charset/$host are empty, default values will be used.
// For $type - "mysql"
// For $charset - "utf8mb4"
// For $host - "localhost"
//
// From params
//
$modernPDO = new \ModernPDO\ModernPDO(
type: $type, // (mysql, etc.)
charset: $charset, // (utf8, utf8mb4, etc.)
host: $host, // (localhost, etc.)
username: $username, // user's name
password: $password, // user's password
database: $database, // database's name
);
//
// From array
//
$config = [
"type" => "", // (mysql, etc.)
"charset" => "", // (utf8, utf8mb4, etc.)
"host" => "", // (localhost, etc.)
"username" => "", // user's name
"password" => "", // user's password
"database" => "", // database's name
];
$modernPDO = new \ModernPDO\ModernPDO(data: $config);
//
// From PDO object
//
$pdo = new PDO(...);
$modernPDO = new \ModernPDO\ModernPDO(pdo: $pdo);
// get all accounts
$modernPDO->exec("SELECT * FROM `account` WHERE 1");
// get all accounts where balance >= ?
$accounts = $modernPDO->query("SELECT * FROM `account` WHERE `balance` >= ?", [1000])->fetchAll();
// get one account where name == ?
$account = $modernPDO->query("SELECT * FROM `account` WHERE `name` = ?", ["StulE"])->fetch();
// long syntax
$modernPDO->insert($table)->values([$col1 => $val1, ...])->execute();
// short syntax
$modernPDO->insert($table, [$col1 => $val1, ...])->execute();
// get all rows from $table
$modernPDO->select($table)->all();
// get rows from $table where $col == $val
$modernPDO->select($table)->where($col, $val)->one();
// get first row from $table by $order where $col == $val
$modernPDO->select($table)->where($col, $val)->firstBy($order);
// get last row from $table by $order where $col == $val
$modernPDO->select($table)->where($col, $val)->lastBy($order);
// long syntax
$modernPDO->select($table)->columns([$col1, $col2, ...])->all();
// short syntax
$modernPDO->select($table, [$col1, $col2, ...])->all();
// long syntax
$modernPDO->update($table)->set([$col1 => $val1, ...])->where($col, $val)->execute();
// short syntax
$modernPDO->update($table, [$col1 => $val1, ...])->where($col, $val)->execute();
$modernPDO->delete($table)->where($col, $val)->execute();