• Данный материал предоставлен сайтом исключительно в ознакомительных целях.
    Администрация не несет ответственности за его содержимое. По всем жалобам пишите на почту abusevhguru@yandex.ru

Balloo

Пользователь
Сообщения
25
Реакции
0

Balloo

  • 25
  • 0
  1. <?php
  2. /*
  3. Автор : Atkat && vShalamov
  4. */
  5. class Db {
  6. protected $db;
  7. public function __construct() {
  8. $cfg = [
  9. 'host' => 'localhost', ### Хост базы ###
  10. 'charset' => 'utf8', ### Кодировка ###
  11. 'name' => 'wm', ### База данных ###
  12. 'user' => 'wm', ### Пользователь ###
  13. 'password' => 'EZTlb@123',]; ### Пароль ###
  14. try{
  15. $this->db = new PDO('mysql:host='.$cfg['host'].';charset='.$cfg['charset'].';dbname='.$cfg['name'].'', $cfg['user'], $cfg['password'],[
  16. PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
  17. PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true,
  18. PDO::ATTR_EMULATE_PREPARES => true]);
  19. } catch (PDOException $e) {
  20. ('Нет соединения с БД! <br>Ошибка:<b> ' . $e->getMessage().'</b>');
  21. }
  22. }
  23. // Пример кода - $db-query('DELETE FROM users WHERE id = :id',['id'=>1]);
  24. public function query ($sql, $params = []) {
  25. $stmt = $this->db->prepare($sql);
  26. if (! ($params)) {
  27. foreach ($params as $key => $val) {
  28. if ( ($val)) {
  29. $type = PDO::pARAM_INT;
  30. } else {
  31. $type = PDO::pARAM_STR;
  32. }
  33. $stmt->bindValue(':'.$key, $val, $type);
  34. }
  35. }
  36. $stmt->execute();
  37. return $stmt;
  38. }
  39. // Пример кода - $aray = $db-fetchAll('SELECT * FROM users WHERE name = :name and last = :last',['name'=>'name','last'=>'last']);
  40. // Использовать для циклов
  41. public function fetchAll ($sql, $params = []) {
  42. $result = $this->query($sql, $params);
  43. return $result->fetchAll(PDO::FETCH_ASSOC);
  44. }
  45. // Пример кода - $array = $db-fetch('SELECT * FROM users WHERE name = :name and last = :last',['name'=>'name','last'=>'last']);
  46. // Вывод на экран $array['параметр']
  47. public function fetch ($sql, $params = []) {
  48. $result = $this->query($sql, $params);
  49. return $result->fetch();
  50. }
  51. // Пример кода - $array = $db-object('SELECT * FROM users WHERE name = :name and last = :last',['name'=>'name','last'=>'last']);
  52. // Вывод на экран $array->параметр
  53. public function object ($sql, $params = []) {
  54. $result = $this->query($sql, $params);
  55. return $result->fetch(PDO::FETCH_OBJ);
  56. }
  57. public function column ($sql, $params = []) {
  58. $result = $this->query($sql, $params);
  59. return $result->fetchColumn();
  60. }
  61. public function lastInsertId () {
  62. return $this->db->lastInsertId();
  63. }
  64. // Пример кода - $db-fast_query('SELECT * FROM users WHERE name = ? and last = ?',['name','last']);
  65. public function fast_query ($sql,$params = []) {
  66. $result = $this->db->prepare($sql);
  67. return $result->execute($params);
  68. }
  69. // Пример кода - $array = $db-fast_fetch('SELECT * FROM users WHERE name = ? and last = ?',['name','last']);
  70. public function fast_fetch ($sql,$params = []) {
  71. $result = $this->db->prepare($sql);
  72. $result->execute($params);
  73. return $result->fetch();
  74. }
  75. }
 

Cocos

Пользователь
Сообщения
20
Реакции
4

Cocos

  • 20
  • 4
Ужос! Щас глаза вытекут.. Во-первых обёрток для PDO огромное множество, , и еще куча других. Во-вторых, ну ё-маё, неужели нельзя было куда-нибудь на gist.github.com постануть или на pastebin.org какой?
 
Сверху