mysql.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <?php
  2. //连接mysql类
  3. class con
  4. {
  5. public static $all = array(); //连接数组
  6. // private $host = "127.0.0.1"; //数据库地址
  7. private $host = "18.222.144.77"; //数据库地址
  8. private $un = "root"; //用户名
  9. private $ps = "usestudio-1"; //密码
  10. private $db = "MaLai"; //密码
  11. // private $db = "shop"; //密码
  12. public $sql; //连接
  13. // private $host = "127.0.0.1"; //数据库地址
  14. // private $un = "root"; //用户名
  15. // private $ps = ""; //密码
  16. // private $db = "shop"; //密码
  17. // public $sql; //连接
  18. //处理结束
  19. public static function close($s)
  20. {
  21. if (is_resource($s)) {
  22. return mysqli_close($s);
  23. } else {
  24. return true;
  25. }
  26. }
  27. //构造连接数据库
  28. public function __construct()
  29. {
  30. //清除缓存
  31. ob_clean();
  32. $this->sql = new mysqli($this->host, $this->un, $this->ps, $this->db);
  33. }
  34. //mysql调用
  35. public static function usselect($p)
  36. {
  37. $a = explode(",", $p);
  38. $e = (new con());
  39. $e = $e->sql;
  40. $j = "";
  41. //错误处理
  42. if ($e->connect_error) {
  43. return "";
  44. }
  45. $e->set_charset("utf8");
  46. $s = "";
  47. $e->query("set character set 'utf8';");
  48. $res = "";
  49. $sqlname = urldecode(urldecode($a[0]));
  50. if (count($a) > 1) {
  51. for ($i = 1; $i < count($a); $i++) {
  52. $a[$i] = urldecode(urldecode($a[$i]));
  53. }
  54. $s = "CALL " . $sqlname . "('" . join("','", array_slice($a, 1)) . "');";
  55. } else {
  56. $s = "CALL " . $sqlname . "()";
  57. }
  58. // echo $s;
  59. $r = array();
  60. $e->multi_query(urldecode($s));
  61. do {
  62. $s = array();
  63. if ($res = $e->store_result()) {
  64. while ($v = $res->fetch_array(MYSQLI_ASSOC)) {
  65. array_push($s, $v);
  66. }
  67. array_push($r, $s);
  68. }
  69. } while ($e->more_results() && $e->next_result());
  70. $j = json_encode(count($r) > 1 ? $r : (count($r) == 0 ? $e->affected_rows : $r[0]));
  71. con::close($e);
  72. return $j; //获取返回的值
  73. }
  74. //回收占用问题
  75. function __destruct()
  76. {
  77. con::close($this->sql);
  78. }
  79. }
  80. ?>