PHPackages                             lajosbencz/pshd - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. lajosbencz/pshd

ActiveLibrary

lajosbencz/pshd
===============

Php Short Hand Database

v1.1.0(11y ago)091MITPHPPHP &gt;=5.3.2

Since Oct 22Pushed 10y ago1 watchersCompare

[ Source](https://github.com/lajosbencz/PSHD)[ Packagist](https://packagist.org/packages/lajosbencz/pshd)[ RSS](/packages/lajosbencz-pshd/feed)WikiDiscussions unixonly Synced 4w ago

READMEChangelog (7)DependenciesVersions (9)Used By (0)

PSHD
====

[](#pshd)

An OOP attempt to simplify common SQL commands.

Currently supported drivers: `mysql`, `pgsql`, `sqlite`

#### Initialize

[](#initialize)

With `dsn`

```
$db = new PSHD\PSHD(array(
	'dsn' => 'sqlite:/var/www/test.db',
));
```

With `driver` and `socket`

```
$db = new PSHD\PSHD(array(
	'driver' => 'mysql',
	'socket' => '/tmp/mysql.lock',
));
```

With `driver` and `host`

```
$db = new PSHD\PSHD(array(
	'driver' => 'mysql',
	'host' => 'localhost',
));
```

#### Options

[](#options)

```
$db = new PSHD\PSHD(array(

	/*
	 * required init options here...
	 */

	// can only be set when constructed
	'user' => 'usr',
	'password' => 'pwd',
	'database' => 'test',
	'charset' => 'utf8',
	'port' => 3306,
	'persist' => true,

	// can be changed with public properties later on
	'autoCommit' => true,
	'nameWrapper' => '`',
	'idField' => 'id',
	'idFieldPlace' => '{I}',
	'tablePrefix' => 'pfx_',
	'tablePrefixPlace' => '{P}',
	'defaultPageLimit' => 15,
	'joinChar' => '|',
	'leftJoinChar' => '',
	'subSelectChar' => '^',
));

$db->autoCommit = true;
$db->nameWrapper = '`'
$db->idField = 'id';
$db->idFieldPlace = '{I}';
$db->tablePrefix = 'pfx_';
$db->tablePrefixPlace = '{P}';
$db->defaultPageLimit = 15;
$db->joinChar = '|';
$db->leftJoinChar = '';
$db->subSelectChar = '^';
```

#### Methods

[](#methods)

```
// don't connect at construct
$db = new PSHD\PSHD($config, false);
$db->setExceptionHandler($handler);
$bool = $db->connect();

// get PDO class
$pdo = $db->getPDO();

// is connected to database
$bool = $db->isConnected();

// properly wrap names
$string = $db->nameWrap('unsafeName');
$string = $db->placeHolders("SELECT * FROM {P}test WHERE {I}%2=0");

// command callback, mainly for debug
$db->setQueryCallback(function($query, $parameters=array()) {
	// process it..
});
// pass in bool to enable/disable while keeping callback
$db->setQueryCallback(false);

// exception handler
$db->setExceptionHandler(function($query, $parameters=array(), $exception=null) {
	// handle it ...
});
// pass in bool to enable/disable while keeping callback
$db->setExceptionHandler(false);

// creates Literal wrapper, parameters can be set
$literal = $db->literal("expiry
