Advertisement
Guest User

Untitled

a guest
Mar 16th, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.69 KB | None | 0 0
  1. <?php
  2.  
  3. class Database {
  4. public static $dsn = 'mysql:dbname=api;host=localhost';
  5. public static $user = 'root';
  6. public static $pass = '';
  7.  
  8. //Объект PDO.
  9. public static $dbh = null;
  10.  
  11. //Statement Handle.
  12. public static $sth = null;
  13.  
  14. //Выполняемый SQL запрос.
  15. public static $query = '';
  16.  
  17. // Подключение к БД
  18. public static function getDbh() {
  19. if (!self::$dbh) {
  20. try {
  21. self::$dbh = new PDO(
  22. self::$dsn,
  23. self::$user,
  24. self::$pass,
  25. array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'")
  26. );
  27. self::$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
  28. } catch (PDOException $e) {
  29. exit('Error connecting to database: ' . $e->getMessage());
  30. }
  31. }
  32.  
  33. return self::$dbh;
  34. }
  35.  
  36. //Добавление в таблицу, в случаи успеха вернет вставленный ID, иначе 0.
  37. public static function add($query, $param = array()) {
  38. self::$sth = self::getDbh()->prepare($query);
  39. return (self::$sth->execute((array) $param)) ? self::getDbh()->lastInsertId() : 0;
  40. }
  41.  
  42. //Выполнение запроса.
  43. public static function set($query, $param = array()) {
  44. self::$sth = self::getDbh()->prepare($query);
  45. return self::$sth->execute((array) $param);
  46. }
  47.  
  48. // Получение строки из таблицы.
  49. public static function getRow($query, $param = array()) {
  50. self::$sth = self::getDbh()->prepare($query);
  51. self::$sth->execute((array) $param);
  52. return self::$sth->fetch(PDO::FETCH_ASSOC);
  53. }
  54.  
  55. //Получение всех строк из таблицы.
  56. public static function getAll($query, $param = array()) {
  57. self::$sth = self::getDbh()->prepare($query);
  58. self::$sth->execute((array) $param);
  59. return self::$sth->fetchAll(PDO::FETCH_ASSOC);
  60. }
  61.  
  62. // Получение значения.
  63. public static function getValue($query, $param = array(), $default = null) {
  64. $result = self::getRow($query, $param);
  65.  
  66. if (!empty($result)) {
  67. $result = array_shift($result);
  68. }
  69.  
  70. return (empty($result)) ? $default : $result;
  71. }
  72.  
  73. //Получение столбца таблицы.
  74. public static function getColumn($query, $param = array()) {
  75. self::$sth = self::getDbh()->prepare($query);
  76. self::$sth->execute((array) $param);
  77. return self::$sth->fetchAll(PDO::FETCH_COLUMN);
  78. }
  79.  
  80. }
  81.  
  82. $db = new Database();
  83.  
  84. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement