Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class DB {
- private static $instance;
- private static $con;
- private static $customError;
- public static function init($host, $user, $pass, $db) {
- if(!isset(self::$instance)) {
- try {
- self::$instance = new PDO('mysql:host='.$host.';dbname='.$db, $user, $pass);
- self::$instance->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
- self::$con = true;
- }
- catch (PDOException $e) {
- self::$customError = $e->getMessage();
- self::$con = false;
- }
- }
- }
- public static function isConnected() {
- return self::$con;
- }
- public static function query($query, $params = array()) {
- try {
- $params = !is_array($params) ? array($params) : $params;
- $data = array();
- $is_select = strtoupper(substr($query,0,6)) == "SELECT" ? true : false;
- if(count($params) > 0) {
- $stmt = self::$instance->prepare($query);
- if(!$stmt)
- {
- return false;
- }
- $stmt->execute($params);
- if($is_select)
- $data = $stmt->fetchAll(PDO::FETCH_ASSOC);
- else {
- $data = true;
- }
- $stmt->closeCursor();
- }
- else {
- $res = self::$instance->query($query);
- if(!$res)
- {
- return false;
- }
- else if($is_select)
- {
- foreach($res as $row)
- $data[] = $row;
- }
- else
- {
- $data = true;
- }
- }
- self::$customError = "";
- return $data;
- }
- catch(Exception $e) {
- self::setError($e->getMessage());
- return false;
- }
- }
- public static function getError() {
- if(strlen(self::$customError) > 0)
- {
- return self::$customError;
- }
- else
- {
- $err = self::$instance->errorInfo();
- return $err[count($err)-1];
- }
- }
- public static function setError($e) {
- self::$customError = $e;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement