147 lines
2.9 KiB
PHP
147 lines
2.9 KiB
PHP
<?php declare(strict_types=1);
|
|
/**
|
|
* Query
|
|
*
|
|
* SQL Query Builder / Database Abstraction Layer
|
|
*
|
|
* PHP version 7.1
|
|
*
|
|
* @package Query
|
|
* @author Timothy J. Warren <tim@timshomepage.net>
|
|
* @copyright 2012 - 2018 Timothy J. Warren
|
|
* @license http://www.opensource.org/licenses/mit-license.html MIT License
|
|
* @link https://git.timshomepage.net/aviat4ion/Query
|
|
*/
|
|
namespace Query\Drivers;
|
|
|
|
use PDO;
|
|
use PDOException;
|
|
use PDOStatement;
|
|
|
|
/**
|
|
* Interface describing the PDO class in PHP
|
|
*/
|
|
interface PDOInterface {
|
|
|
|
/**
|
|
* Creates a PDO instance representing a connection to a database
|
|
*
|
|
* @param string $dsn
|
|
* @param string $username
|
|
* @param string $password
|
|
* @param array $options
|
|
* @throws PDOException
|
|
*/
|
|
public function __construct($dsn, $username, $password, array $options = []);
|
|
|
|
/**
|
|
* Initiates a transaction
|
|
*
|
|
* @throws PDOException
|
|
* @return boolean
|
|
*/
|
|
public function beginTransaction();
|
|
|
|
/**
|
|
* Commits a transaction
|
|
*
|
|
* @throws PDOException
|
|
* @return boolean
|
|
*/
|
|
public function commit();
|
|
|
|
/**
|
|
* Fetch the SQLSTATE associated with the last operation on the database handle
|
|
*
|
|
* @return mixed
|
|
*/
|
|
public function errorCode();
|
|
|
|
/**
|
|
* Fetch extended error information associated with the last operation on the database handle
|
|
*
|
|
* @return array
|
|
*/
|
|
public function errorInfo();
|
|
|
|
/**
|
|
* Execute an SQL statement and return the number of affected rows
|
|
*
|
|
* @param string $statement
|
|
* @return int
|
|
*/
|
|
public function exec($statement);
|
|
|
|
/**
|
|
* Retrieve a database connection attribute
|
|
*
|
|
* @param int $attribute
|
|
* @return mixed
|
|
*/
|
|
public function getAttribute($attribute);
|
|
|
|
/**
|
|
* Return an array of available PDO drivers
|
|
*
|
|
* @return array
|
|
*/
|
|
public static function getAvailableDrivers();
|
|
|
|
/**
|
|
* Checks if inside a transaction
|
|
*
|
|
* @return boolean
|
|
*/
|
|
public function inTransaction();
|
|
|
|
/**
|
|
* Returns teh ID of the last inserted row or sequence value
|
|
*
|
|
* @param string $name Name of the sequence object from which the ID should be returned
|
|
* @return string
|
|
*/
|
|
public function lastInsertId($name = NULL);
|
|
|
|
/**
|
|
* Prepares a statement for execution and returns a statement object
|
|
*
|
|
* @param string $statement
|
|
* @param array $options
|
|
* @return PDOStatement
|
|
*/
|
|
public function prepare($statement, $options = NULL);
|
|
|
|
/**
|
|
* Executes an SQL statement, returning a result set as a PDOStatement object
|
|
*
|
|
* @return PDOStatement
|
|
*/
|
|
public function query();
|
|
|
|
/**
|
|
* Quotes a string for use in a query
|
|
*
|
|
* @param string $string
|
|
* @param int $parameterType
|
|
* @return string|false
|
|
*/
|
|
public function quote($string, $parameterType = PDO::PARAM_STR);
|
|
|
|
/**
|
|
* Rolls back a transaction
|
|
*
|
|
* @throws PDOException
|
|
* @return boolean
|
|
*/
|
|
public function rollBack();
|
|
|
|
/**
|
|
* Set an attribute
|
|
*
|
|
* @param int $attribute
|
|
* @param mixed $value
|
|
* @return boolean
|
|
*/
|
|
public function setAttribute($attribute, $value);
|
|
}
|