Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2016
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.97 KB | None | 0 0
  1. <?php
  2. error_reporting(E_ALL);
  3. ini_set('display_errors', 1);
  4.  
  5. class DB
  6. {
  7.  
  8. private static $pdo;
  9. private static $pdoStatement;
  10.  
  11. private $dsn;
  12.  
  13. static function connect()
  14. {
  15. if(self::$pdo == null)
  16. {
  17. global $_CONFIG;
  18. try
  19. {
  20. $connection = $_CONFIG['pdo']['connection'];
  21. $host = $_CONFIG['pdo']['hostname'];
  22. $db = $_CONFIG['pdo']['db'];
  23. $charset = $_CONFIG['pdo']['charset'];
  24. $password = $_CONFIG['pdo']['password'];
  25. $username = $_CONFIG['pdo']['username'];
  26. $options = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_EMULATE_PREPARES => false);
  27. $dsn = "$connection:host=$host;dbname=$db;charset=$charset";
  28.  
  29. self::$pdo = new PDO($dsn, $username, $password, $options);
  30. }
  31. catch (PDOException $e)
  32. {
  33. exit($e->getMessage());
  34. }
  35. }
  36. else
  37. {
  38. return new self;
  39. }
  40.  
  41. static function prepare($query)
  42. {
  43. DB::connect();
  44. self::$pdoStatement = self::$pdo->prepare($query);
  45. return new self;
  46. }
  47.  
  48. static function bindValue($name, $value, $type = PDO::PARAM_STR)
  49. {
  50. DB::connect();
  51. self::$pdoStatement->bindValue($name, $value, $type);
  52. return new self;
  53. }
  54.  
  55. static function bindValues(array $binds)
  56. {
  57. DB::connect();
  58. foreach($binds as $valuesArray) {
  59. self::$bindValue($valuesArray[0], $valuesArray[1], (isset($valuesArray[2]) ? $valuesArray[2] : PDO::PARAM_STR));
  60. }
  61. return new self;
  62. }
  63.  
  64. static function execute($data = array())
  65. {
  66. DB::connect();
  67. try {
  68. self::$pdoStatement->execute( isset($data) ? $data : null );
  69. }
  70. catch (PDOException $e) {
  71. die('Databas konflikt => ' . $e->getMessage());
  72. }
  73. return new self;
  74. }
  75.  
  76. static function fetch($type = PDO::FETCH_BOTH)
  77. {
  78. DB::connect();
  79. return (self::$pdoStatement) ? self::$pdoStatement->fetch($type) : false;
  80. }
  81.  
  82. static function fetchAll($type = PDO::FETCH_BOTH)
  83. {
  84. DB::connect();
  85. return (self::$pdoStatement) ? self::$pdoStatement->fetchAll($type) : false;
  86. }
  87.  
  88. static function query($query)
  89. {
  90. DB::connect();
  91. try {
  92. self::$pdoStatement = self::$pdo->query($query);
  93. }
  94. catch (PDOException $e) {
  95. die('Databas konflikt => ' . $e->getMessage());
  96. }
  97. return new self;
  98. }
  99.  
  100. static function lastInsertId()
  101. {
  102. DB::connect();
  103. return self::$pdo->lastInsertId();
  104. }
  105.  
  106. static function rowCount()
  107. {
  108. DB::connect();
  109. return (self::$pdoStatement) ? self::$pdoStatement->rowCount() : false;
  110. }
  111.  
  112.  
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement