You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

121 lines
3.0 KiB

  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Steven
  5. * Date: 2016/12/2
  6. * Time: 18:39
  7. */
  8. require_once __DIR__.'/../../Config/DataBaseConfig.class.php';
  9. class DbConfig extends DataBaseConfig
  10. {
  11. /*
  12. *执行查询操作
  13. */
  14. public function query($sql)
  15. {
  16. $rowset = array();
  17. try {
  18. $pdo = $this->conn_waice();
  19. $pdo->beginTransaction();
  20. $result = $pdo->query($sql);
  21. if($result){
  22. $rowset = $result->fetchAll(PDO::FETCH_ASSOC);
  23. $result->closeCursor();
  24. $pdo->commit();
  25. }
  26. } catch (PDOException $ex) {
  27. $pdo->rollBack();
  28. }
  29. return $rowset;
  30. }
  31. /**
  32. * 调用执行存储过程
  33. * @param $sql
  34. * @return array|null
  35. */
  36. public function procQuery($sql)
  37. {
  38. $pdo = $this->conn_waice();
  39. $result = $pdo->query($sql);
  40. $flag = 1;
  41. $arr = array();
  42. $res = null;
  43. do {
  44. $rowset = $result->fetchAll(PDO::FETCH_ASSOC);
  45. if ($flag > 1) { //说明返回的结果集大于1
  46. if (count($arr) <= 0) {
  47. $arr[] = $res[0];
  48. $res = $arr;
  49. }
  50. $res[] = $rowset;
  51. }
  52. if ($flag == 1) {
  53. $res[0] = $rowset;
  54. }
  55. $flag++;
  56. } while ($result->nextRowset());
  57. $result->closeCursor();
  58. if (isset($res[0][0]['errcode'])) //如果存在errcode的话
  59. {
  60. if ($res[0][0]['errcode'] != 0) //存储过程出错
  61. {
  62. $res1['code'] = $res[0][0]['errcode'];
  63. $res1['info'] = $res[0][0]['errinfo'];
  64. return $res1;
  65. } else {
  66. //将数组的第一个元素删除(删除包含errcode的数组)
  67. $res2['code'] = 0;
  68. $res2['info'] = '执行成功';
  69. $res2['data'] = array_splice($res, 1);
  70. return $res2;
  71. }
  72. } else {
  73. $res3['code'] = 0;
  74. $res3['info'] = '执行成功';
  75. $res3['data'] = $res;
  76. return $res3;
  77. }
  78. }
  79. /**
  80. * 执行更新操作
  81. * @param $sql
  82. * @return int
  83. */
  84. public function exec($sql)
  85. {
  86. try {
  87. $pdo = $this->conn_waice();
  88. $pdo->beginTransaction();
  89. $result = $pdo->exec($sql);
  90. $pdo->commit();
  91. } catch (PDOException $ex) {
  92. $pdo->rollBack();
  93. }
  94. return $result;
  95. }
  96. /**
  97. * sql添加
  98. * @return int
  99. */
  100. public function insert($sql)
  101. {
  102. try {
  103. $pdo = $this->conn_waice();
  104. $pdo->beginTransaction();
  105. $result = $pdo->exec($sql);
  106. $id = $pdo->lastInsertId();
  107. $pdo->commit();
  108. } catch (PDOException $ex) {
  109. $pdo->rollBack();
  110. }
  111. if ($result) {
  112. $result = $id;
  113. }
  114. return $result;
  115. }
  116. }