ikitiki/pgdb

DB class for working with PostgreSQL

1.0.4 2015-04-24 19:12 UTC

This package is not auto-updated.

Last update: 2024-04-27 14:43:53 UTC


README

Travis

Class for working with PostgreSQL database

##Usage

Create db instance:

$db = new Ikitiki\DB();

$db->setHost('127.0.0.1');
$db->setUsername('postgres');
$db->setDbName('test');

###Make queries:

Single row query:

$res = $db->execOne(
	"select id, name from users where email = '%s' and status_id = %d limit 1", 
	Ikitiki\DB::quote('john_doe@company.com'),
	1
);
// Executes "select id, email from users where email = 'john_doe@company.com' and status_id = 1"
// $res = [
//   'id' => 1,
//   'name' => 'John Doe'
// ];

Key-value queries:

$res = $db->exec("select id, name from users")->fetchArray('id', 'name');
// $res = [
//   1 => 'John Doe',
//   2 => 'Richard Roe',
//   3 => 'Mark Moe',
//   ...
// ]

or

$res = $db->exec("select id, name, department_id from users")->fetchArray('id');
// $res = [
//   1 => ['name' => 'John Doe', 'department_id' => 1],
//   2 => ['name' => 'Richard Roe', 'department_id' => 1],
//   3 => ['name' => 'Mark Moe', 'department_id' => 2]
//   ...
// ];

###Use complex types:

$res = $db->exec('select \'{"id":1,"name":"John Doe","department":"Sales"}\'::json as j from users')->fetchArray('j');
//$res = [
//  'id' => 1,
//  'name' => 'John Doe',
//  'department' => 'Sales',
//]