PHP Class Bluz\Db\Db

Author: Anton Shevchuk
Inheritance: use trait Bluz\Common\Options
Afficher le fichier Open project: bluzphp/framework Class Usage Examples

Protected Properties

Свойство Type Description
$attributes array PDO connection flags
$connect array PDO connection settings
$handler PDO instance

Méthodes publiques

Méthode Description
connect ( ) : Db Connect to Db
delete ( string $table ) : Bluz\Db\Query\Delete Create new query update builder
disconnect ( ) : void Disconnect PDO and clean default adapter
fetchAll ( string $sql, array $params = [] ) : array[] Returns an array containing all of the result set rows
fetchColumn ( string $sql, array $params = [] ) : array Returns an array containing one column from the result set rows
fetchColumnGroup ( string $sql, array $params = [] ) : array Returns an array containing all of the result set rows
fetchGroup ( string $sql, array $params = [], mixed $object = null ) : array Returns an array containing all of the result set rows
fetchObject ( string $sql, array $params = [], mixed $object = 'stdClass' ) : array Returns an object containing first row from the result set
fetchObjects ( string $sql, array $params = [], mixed $object = null ) : array Returns an array of objects containing the result set
fetchOne ( string $sql, array $params = [] ) : string Return first field from first element from the result set
fetchPairs ( string $sql, array $params = [] ) : array Returns a key-value array
fetchRelations ( string $sql, array $params = [] ) : array Returns an array of linked objects containing the result set
fetchRow ( string $sql, array $params = [] ) : array Returns an array containing first row from the result set
handler ( ) : PDO Return PDO handler
insert ( string $table ) : Insert Create new query insert builder
query ( string $sql, array $params = [], array $types = [] ) : integer Execute SQL query
quote ( string $value ) : string Quotes a string for use in a query
quoteIdentifier ( string $identifier ) : string Quote a string so it can be safely used as a table or column name
select ( $select ) : Select Create new query select builder
setAttributes ( array $attributes ) : Db Setup attributes for PDO connect
setConnect ( array $connect ) : Db Setup connection
transaction ( callable $process ) : boolean Transaction wrapper
update ( string $table ) : Bluz\Db\Query\Update Create new query update builder

Méthodes protégées

Méthode Description
log ( string $sql, array $context = [] ) : void Log queries by Application
ok ( ) : void Setup timer
prepare ( string $sql, array $params ) : PDOStatement Prepare SQL query and return PDO Statement

Private Methods

Méthode Description
checkConnect ( ) : void Check connection options

Method Details

connect() public méthode

Connect to Db
public connect ( ) : Db
Résultat Db

delete() public méthode

Create new query update builder
public delete ( string $table ) : Bluz\Db\Query\Delete
$table string
Résultat Bluz\Db\Query\Delete

disconnect() public méthode

Disconnect PDO and clean default adapter
public disconnect ( ) : void
Résultat void

fetchAll() public méthode

Example of usage $db->fetchAll("SELECT * FROM users WHERE ip = ?", ['192.168.1.1']);
public fetchAll ( string $sql, array $params = [] ) : array[]
$sql string SQL query with placeholders "SELECT * FROM users WHERE ip = :ip"
$params array params for query placeholders (optional) array (':ip' => '127.0.0.1')
Résultat array[]

fetchColumn() public méthode

Returns an array containing one column from the result set rows
public fetchColumn ( string $sql, array $params = [] ) : array
$sql string SQL query with placeholders "SELECT id FROM users WHERE ip = :ip"
$params array params for query placeholders (optional) array (':ip' => '127.0.0.1')
Résultat array

fetchColumnGroup() public méthode

Group by first column
public fetchColumnGroup ( string $sql, array $params = [] ) : array
$sql string SQL query with placeholders "SELECT ip, id FROM users"
$params array params for query placeholders (optional)
Résultat array

fetchGroup() public méthode

Group by first column $db->fetchGroup("SELECT ip, COUNT(id) FROM users GROUP BY ip", []);
public fetchGroup ( string $sql, array $params = [], mixed $object = null ) : array
$sql string SQL query with placeholders "SELECT ip, id FROM users"
$params array params for query placeholders (optional)
$object mixed
Résultat array

fetchObject() public méthode

Example of usage Fetch object to stdClass $stdClass = $db->fetchObject('SELECT * FROM some_table WHERE id = ?', [$id]); Fetch object to new Some object $someClass = $db->fetchObject('SELECT * FROM some_table WHERE id = ?', [$id], 'Some'); Fetch object to exists instance of Some object $someClass = $db->fetchObject('SELECT * FROM some_table WHERE id = ?', [$id], $someClass);
public fetchObject ( string $sql, array $params = [], mixed $object = 'stdClass' ) : array
$sql string SQL query with placeholders "SELECT * FROM users WHERE name = :name AND pass = :pass"
$params array params for query placeholders (optional) array (':name' => 'John', ':pass' => '123456')
$object mixed
Résultat array

fetchObjects() public méthode

Returns an array of objects containing the result set
public fetchObjects ( string $sql, array $params = [], mixed $object = null ) : array
$sql string SQL query with placeholders "SELECT * FROM users WHERE name = :name AND pass = :pass"
$params array params for query placeholders (optional) array (':name' => 'John', ':pass' => '123456')
$object mixed Class name or instance
Résultat array

fetchOne() public méthode

Example of usage $db->fetchOne("SELECT COUNT(*) FROM users");
public fetchOne ( string $sql, array $params = [] ) : string
$sql string SQL query with placeholders "SELECT * FROM users WHERE name = :name AND pass = :pass"
$params array params for query placeholders (optional) array (':name' => 'John', ':pass' => '123456')
Résultat string

fetchPairs() public méthode

Returns a key-value array
public fetchPairs ( string $sql, array $params = [] ) : array
$sql string SQL query with placeholders "SELECT id, username FROM users WHERE ip = :ip"
$params array params for query placeholders (optional) array (':ip' => '127.0.0.1')
Résultat array

fetchRelations() public méthode

Returns an array of linked objects containing the result set
public fetchRelations ( string $sql, array $params = [] ) : array
$sql string SQL query with placeholders "SELECT '__users', u.*, '__users_profile', up.* FROM users u LEFT JOIN users_profile up ON up.userId = u.id WHERE u.name = :name"
$params array params for query placeholders (optional) array (':name' => 'John')
Résultat array

fetchRow() public méthode

Example of usage $db->fetchRow("SELECT name, email FROM users WHERE id = ". $db->quote($id)); $db->fetchRow("SELECT name, email FROM users WHERE id = ?", [$id]); $db->fetchRow("SELECT name, email FROM users WHERE id = :id", [':id'=>$id]);
public fetchRow ( string $sql, array $params = [] ) : array
$sql string SQL query with placeholders "SELECT * FROM users WHERE name = :name AND pass = :pass"
$params array params for query placeholders (optional) array (':name' => 'John', ':pass' => '123456')
Résultat array array ('name' => 'John', 'email' => '[email protected]')

handler() public méthode

Return PDO handler
public handler ( ) : PDO
Résultat PDO

insert() public méthode

Create new query insert builder
public insert ( string $table ) : Insert
$table string
Résultat Bluz\Db\Query\Insert

log() protected méthode

Log queries by Application
protected log ( string $sql, array $context = [] ) : void
$sql string SQL query for logs
$context array
Résultat void

ok() protected méthode

Setup timer
protected ok ( ) : void
Résultat void

prepare() protected méthode

Prepare SQL query and return PDO Statement
protected prepare ( string $sql, array $params ) : PDOStatement
$sql string SQL query with placeholders
$params array params for query placeholders
Résultat PDOStatement

query() public méthode

Example of usage $db->query("SET NAMES 'utf8'");
public query ( string $sql, array $params = [], array $types = [] ) : integer
$sql string SQL query with placeholders "UPDATE users SET name = :name WHERE id = :id"
$params array params for query placeholders (optional) array (':name' => 'John', ':id' => '123')
$types array Types of params (optional) array (':name' => \PDO::PARAM_STR, ':id' => \PDO::PARAM_INT)
Résultat integer the number of rows

quote() public méthode

Example of usage $db->quote($_GET['id'])
public quote ( string $value ) : string
$value string
Résultat string

quoteIdentifier() public méthode

Quote a string so it can be safely used as a table or column name
public quoteIdentifier ( string $identifier ) : string
$identifier string
Résultat string

select() public méthode

Create new query select builder
public select ( $select ) : Select
$select The selection expressions
Résultat Bluz\Db\Query\Select

setAttributes() public méthode

Setup attributes for PDO connect
public setAttributes ( array $attributes ) : Db
$attributes array
Résultat Db

setConnect() public méthode

Just save connection settings $db->setConnect([ 'type' => 'mysql', 'host' => 'localhost', 'name' => 'db name', 'user' => 'root', 'pass' => '' ]);
public setConnect ( array $connect ) : Db
$connect array options
Résultat Db

transaction() public méthode

Example of usage $db->transaction(function() use ($db) { $db->query("INSERT INTO table ..."); $db->query("UPDATE table ..."); $db->query("DELETE FROM table ..."); })
public transaction ( callable $process ) : boolean
$process callable callable structure - closure function or class with __invoke() method
Résultat boolean

update() public méthode

Create new query update builder
public update ( string $table ) : Bluz\Db\Query\Update
$table string
Résultat Bluz\Db\Query\Update

Property Details

$attributes protected_oe property

PDO connection flags
protected array $attributes
Résultat array

$connect protected_oe property

PDO connection settings
protected array $connect
Résultat array

$handler protected_oe property

PDO instance
protected $handler