pdo.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. require_once dirname(__FILE__) . '/vendor/autoload.php';
  3. require_once dirname(__FILE__) . '/log.php';
  4. class PdoHelper
  5. {
  6. private $_pdo = null;
  7. public function connectDb()
  8. {
  9. /**
  10. * 连接数据库
  11. */
  12. $db = Config['database']['driver'];
  13. $db .= ":host=" . Config['database']['host'];
  14. $db .= ";port=" . Config['database']['port'];
  15. $db .= ";dbname=" . Config['database']['name'];
  16. $db .= ";user=" . Config['database']['user'];
  17. $db .= ";password=" . Config['database']['password'] . ";";
  18. myLog()->debug('connect to db host=' . Config['database']['host'] . ' name=' . Config['database']['name']);
  19. try {
  20. $PDO = new PDO(
  21. $db,
  22. Config['database']['user'],
  23. Config['database']['password'],
  24. array(PDO::ATTR_PERSISTENT => true)
  25. );
  26. myLog()->debug('connect to db success');
  27. } catch (PDOException $e) {
  28. myLog()->error('connect to db fail',['message'=>$e->getMessage()]);
  29. return false;
  30. }
  31. $PDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  32. $this->_pdo = $PDO;
  33. }
  34. public function dbSelect($query, $params = null)
  35. {
  36. if ($this->_pdo === null) {
  37. return false;
  38. }
  39. if (isset($params)) {
  40. $stmt = $this->_pdo->prepare($query);
  41. $stmt->execute($params);
  42. } else {
  43. $stmt = $this->_pdo->query($query);
  44. }
  45. return $stmt->fetchAll(PDO::FETCH_ASSOC);
  46. }
  47. public function execute($query, $params = null)
  48. {
  49. if (isset($params)) {
  50. $stmt = $this->_pdo->prepare($query);
  51. $stmt->execute($params);
  52. return $stmt;
  53. } else {
  54. return $this->_pdo->query($query);
  55. }
  56. }
  57. public function errorInfo()
  58. {
  59. return $this->_pdo->errorInfo();
  60. }
  61. }