首頁  >  文章  >  後端開發  >  一個php的mysql操作類

一個php的mysql操作類

WBOY
WBOY原創
2016-07-25 09:03:081036瀏覽
  1. //資料庫操作類別

  2. class db
  3. {
  4. //SQL執行後的資料儲存變數;
  5. var $db;
  6. //讀取或設定目前資料的位置
  7. var $position=0;
  8. //執行SQL語句並將結果儲存為db變數中;
  9. function sub_sql($str)

  10. {
  11. global $prefix;//全域函數,表前綴
  12. return str_replace("#@__",$prefix,$ str);
  13. }
  14. function Sql($str)
  15. {
  16. $str=$this->sub_sql($str);
  17. $result = mysql_query($str);
  18. $i=0;
  19. while($row = mysql_fetch_array($result))
  20. {
  21. $str_array[$i]=$row;
  22. $i++;
  23. }
  24. if(empty($str_array))
  25. {
  26. $str_array=array();
  27. }
  28. $this->db=$str_array;
  29. }
  30. //讀取一條資料並把資料往後移一位,如果資料為空則回傳為null;
  31. function Get_One()
  32. {
  33. $re=empty($this->db[$this->position] )?null:$this->db[$this->position];
  34. $this->position=$re?$this->position+1:$this->position;
  35. return $re;
  36. }
  37. //判斷是否資料讀取到結尾了
  38. function Judge()
  39. {
  40. $re=empty($this->db[$this->position])? true:false;
  41. return $re;
  42. }
  43. //取得db裡面的個數
  44. function Get_Num()
  45. {
  46. return count($this->db);
  47. }
  48. //更新資料庫裡面的數據,$t為表名,$v格式為數組格式,上標為字段名,下標為數據;$w為條件上標為字段名下標為數據,$p為條件0為等號,1為大於,-1為小於;
  49. function Set_Updata($t,$v,$w,$p=0)
  50. {
  51. $this ->Sql($t);
  52. $v_str="";
  53. $w_str="";
  54. $f="";
  55. foreach($v as $key=>$vaule)
  56. {
  57. if(!is_numeric($key))
  58. {
  59. if(empty($v_str))
  60. {
  61. $v_str=htmlspecialchars($key)."=' ".htmlspecialchars($vaule)."'";
  62. }else
  63. {
  64. $v_str=$v_str.",".htmlspecialchars($key)."='".htmlspecialchars($vaule) ."'";
  65. }
  66. }
  67. }
  68. switch($p)
  69. {
  70. case 0:
  71. $f="=";
  72. break;
  73. case 1:
  74. $f=">";
  75. break;
  76. case -1:
  77. $f=" break;
  78. }
  79. if(!empty($f))
  80. {
  81. foreach($w as $key=>$vaule)
  82. {
  83. if(!is_numeric($key))
  84. {
  85. if(empty($v_str))
  86. {
  87. $w_str=htmlspecialchars($key).$f.htmlspecialchars($vaule)."'";
  88. }else
  89. {
  90. $w_str=$w_str.",".htmlspecialchars($key).$f.htmlspecialchars($vaule)."'";
  91. }
  92. }
  93. }
  94. }
  95. $sql ="UPDATE ".$t." SET ".$v_str." where ".$w_str;
  96. return $result = mysql_query($sql);
  97. }
  98. //刪除一資料$w為條件上標為欄位名下標為數據,$p為條件0為等號,1為大於,-1為小於;
  99. function Set_Del($t,$w,$p=0)
  100. {
  101. $this->sub_sql($t);
  102. $w_str="";
  103. $f="";
  104. switch($p)
  105. {
  106. case 0:
  107. $f="=";
  108. break;
  109. case 1:
  110. $f=">";
  111. break;
  112. case -1:
  113. $f=" break;
  114. }
  115. if(!empty($f))
  116. {
  117. foreach($w as $key=>$vaule)
  118. {
  119. if (!is_numeric($key))
  120. {
  121. if(empty($v_str))
  122. {
  123. $w_str=htmlspecialchars($key).$f.htmlspecialchars($vaule)."' ";
  124. }else
  125. {
  126. $w_str=$w_str.",".htmlspecialchars($key).$f.htmlspecialchars($vaule)."'";
  127. }
  128. }
  129. }
  130. }
  131. }
  132. $str="DELETE FROM ".$t." WHERE ".$w_str;
  133. return $result = mysql_query($str); }
  134. function Add($t,$v)
  135. {
  136. $this->sub_sql($t);
  137. $k_str="";
  138. $v_str="";
  139. foreach($v as $key=>$vaule)
  140. {
  141. if(!is_numeric($key)){
  142. if(empty($k_str))
  143. {
  144. $ k_str= htmlspecialchars($key);
  145. $v_str="'".htmlspecialchars($vaule)."'";
  146. }else
  147. {
  148. $k_str=$k_str.","。 $key);
  149. $v_str=$v_str.","."'".htmlspecialchars($vaule)."'";
  150. }
  151. }
  152. }
  153. $str =" INSERT INTO ".$t."(".$k_str.")"."value(".$v_str.")";
  154. return $result = mysql_query($str);
  155. }
  156. }
  157. ?>
複製程式碼


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn