Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- error_reporting(E_ALL);
- ini_set('display_errors', 1);
- class DB
- {
- private static $pdo;
- private static $pdoStatement;
- private $dsn;
- static function connect()
- {
- if(self::$pdo == null)
- {
- global $_CONFIG;
- try
- {
- $connection = $_CONFIG['pdo']['connection'];
- $host = $_CONFIG['pdo']['hostname'];
- $db = $_CONFIG['pdo']['db'];
- $charset = $_CONFIG['pdo']['charset'];
- $password = $_CONFIG['pdo']['password'];
- $username = $_CONFIG['pdo']['username'];
- $options = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_EMULATE_PREPARES => false);
- $dsn = "$connection:host=$host;dbname=$db;charset=$charset";
- self::$pdo = new PDO($dsn, $username, $password, $options);
- }
- catch (PDOException $e)
- {
- exit($e->getMessage());
- }
- }
- else
- {
- return new self;
- }
- static function prepare($query)
- {
- DB::connect();
- self::$pdoStatement = self::$pdo->prepare($query);
- return new self;
- }
- static function bindValue($name, $value, $type = PDO::PARAM_STR)
- {
- DB::connect();
- self::$pdoStatement->bindValue($name, $value, $type);
- return new self;
- }
- static function bindValues(array $binds)
- {
- DB::connect();
- foreach($binds as $valuesArray) {
- self::$bindValue($valuesArray[0], $valuesArray[1], (isset($valuesArray[2]) ? $valuesArray[2] : PDO::PARAM_STR));
- }
- return new self;
- }
- static function execute($data = array())
- {
- DB::connect();
- try {
- self::$pdoStatement->execute( isset($data) ? $data : null );
- }
- catch (PDOException $e) {
- die('Databas konflikt => ' . $e->getMessage());
- }
- return new self;
- }
- static function fetch($type = PDO::FETCH_BOTH)
- {
- DB::connect();
- return (self::$pdoStatement) ? self::$pdoStatement->fetch($type) : false;
- }
- static function fetchAll($type = PDO::FETCH_BOTH)
- {
- DB::connect();
- return (self::$pdoStatement) ? self::$pdoStatement->fetchAll($type) : false;
- }
- static function query($query)
- {
- DB::connect();
- try {
- self::$pdoStatement = self::$pdo->query($query);
- }
- catch (PDOException $e) {
- die('Databas konflikt => ' . $e->getMessage());
- }
- return new self;
- }
- static function lastInsertId()
- {
- DB::connect();
- return self::$pdo->lastInsertId();
- }
- static function rowCount()
- {
- DB::connect();
- return (self::$pdoStatement) ? self::$pdoStatement->rowCount() : false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement