>  기사  >  백엔드 개발  >  PHP mysql 작업 클래스

PHP mysql 작업 클래스

WBOY
WBOY원래의
2016-07-25 09:03:081028검색
  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. 전역 $prefix;//전역 함수, 테이블 접두사
  12. return str_replace(" #@__", $prefix,$str);
  13. }
  14. function Sql($str)
  15. {
  16. $str=$this->sub_sql($str);
  17. $ 결과 = 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. 함수 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. 스위치($p)
  69. {
  70. 사례 0:
  71. $f="=";
  72. break;
  73. 사례 1:
  74. $f =">";
  75. break;
  76. case -1:
  77. $ f="<";
  78. break;
  79. }
  80. if(!empty($f))
  81. {
  82. foreach($w as $key=>$vaule)
  83. {
  84. if(!is_numeric($key))
  85. {
  86. if(empty($v_str) )
  87. {
  88. $w_str=htmlspecialchars($key).$f.htmlspecialchars( $vaule)."'";
  89. }else
  90. {
  91. $w_str=$w_str.", ".htmlspecialchars($key).$f.htmlspecialchars($vaule)."'";
  92. }
  93. }
  94. }
  95. }
  96. $sql="UPDATE ".$t. " SET ".$v_str." where ".$w_str;
  97. return $result = mysql_query ($sql);
  98. }
  99. //데이터 삭제 $w는 조건, 위첨자는 필드 이름, 아래 첨자는 데이터, $p는 조건, 0은 등호, 1은 보다 큼, -1은 보다 작음;
  100. function Set_Del($t,$w,$p=0)
  101. {
  102. $this->sub_sql($t);
  103. $w_str="";
  104. $f=" ";
  105. 스위치($p)
  106. {
  107. 사례 0:
  108. $f="=";
  109. 중단;
  110. 사례 1:
  111. $f="> ";
  112. 중단;
  113. 사례 -1:
  114. $f="<";
  115. break;
  116. }
  117. if(!empty($f))
  118. {
  119. foreach($w as $key=>$vaule)
  120. {
  121. if(!is_numeric($key))
  122. {
  123. if(empty($v_str))
  124. {
  125. $w_str=htmlspecialchars($key).$f. htmlspecialchars($vaule)."'";
  126. }else
  127. {
  128. $w_str=$w_str.",".htmlspecialchars( $key).$f.htmlspecialchars($vaule)."'" ;
  129. }
  130. }
  131. }
  132. }
  133. $str="DELETE FROM ".$t." WHERE " .$w_str;
  134. return $result = mysql_query($str) ;
  135. }
  136. 함수 추가($t,$v)
  137. {
  138. $this->sub_sql($t);
  139. $k_str="";
  140. $v_str="";
  141. foreach($v as $key=>$vaule)
  142. {
  143. if(!is_numeric($key)){
  144. if(empty($k_str))
  145. {
  146. $ k_str=htmlspecialchars($key);
  147. $v_str="'".htmlspecialchars($vaule)."'";
  148. }else
  149. {
  150. $k_str=$k_str.",". htmlspecialchars($key);
  151. $v_str=$v_str.","."'".htmlspecialchars($vaule)."'";
  152. }
  153. }
  154. }
  155. $str ="INSERT INTO ".$t."(".$k_str.")"."value(".$v_str.")";
  156. return $result = mysql_query($str);
  157. }
  158. }
  159. ?>

复主代码


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.