liquidbox/pdo-extension

v1.0-rc.1 2016-11-26 06:04 UTC

This package is not auto-updated.

Last update: 2024-09-28 19:42:08 UTC


README

这是一个PHP PDO扩展类,包含一组基本的插入、选择、更新和删除(CRUD)查询辅助函数。旨在提供直观、健壮和多功能。

使用方法

数据库连接保持不变。

连接

创建一个通用的ODBC数据库连接。

$db = new PDO('odbc:dbname=hollywood;host=127.0.0.1', 'root');

创建一个安全的MySQL数据库连接。

$db = new PDO(
	'mysql:dbname=hollywood;host=127.0.0.1',
	$config['db.username'],
	$config['db.password'],
    [
        PDO::MYSQL_ATTR_SSL_KEY  => '/path/to/client-key.pem',
        PDO::MYSQL_ATTR_SSL_CERT => '/path/to/client-cert.pem',
        PDO::MYSQL_ATTR_SSL_CA   => '/path/to/ca-cert.pem'
    ]
);

query()方法覆盖

此扩展覆盖了query方法,以使用printf格式化的力量。用数组代替字符串作为第一个参数。值的顺序与printf相同,从格式开始,后面跟任意数量的参数。

$res = $db->query(['UPDATE actor SET oscars = oscars + 1 WHERE id = %d', 4600]);

传递字符串仍然保持功能不变。

查询辅助函数

查询辅助函数的设计旨在通过在语法上与其SQL对应物相对应来提供直观性。

创建记录

通过传递表名和要设置的列-值对的关联数组来创建单个记录。

$db->insert(
    'actor',
    [
        'name' => "Anna Kendrick",
		'gender' => "female",
        'born' => (new DateTime("August 9, 1985"))->format('Y-m-d')
    ]
);

通过传递关联数组的数组来创建多个记录。


读取记录

注意:短路了ORDER BY子句。

if ($page > 1) {
	$offset = ($page - 1) * $limit
}

$res = $db->select(
	['name', 'picture'],
	'actor',
	'name LIKE "%' . $middleName . '%" AND gender = "male"',
	isset($offset) ? [$offset, $limit] : $limit
);

$actors = $res->fetchAll();

更新记录

$db->update(
	'actor',
	['oscars' => 'oscars + 1'],
	'name = "Michael Thomas Green"'
);
$db->update(
	'actor',
	[
		['latest_role' => "Moe",   'name' => "Moses Harry Horwitz"],
		['latest_role' => "Larry", 'name' => "Louis Feinberg"],
		['latest_role' => "Curly", 'name' => "Jerome Lester Horwitz"]
	]
);

删除记录

$db->delete('actor', 'name = "Joey Tribbiani"');

许可证

有关许可证权利和限制(MIT),请参阅LICENSE文件。