ホームページ  >  記事  >  バックエンド開発  >  PHP mysql 操作クラス

PHP mysql 操作クラス

WBOY
WBOYオリジナル
2016-07-25 09:03:081040ブラウズ
  1. //データベース操作クラス

  2. class db
  3. {
  4. //SQL実行後のデータ保存変数;
  5. var $db;
  6. //現在のデータの読み取りまたは設定 Position
  7. var $position=0;
  8. // SQL ステートメントを実行し、結果を db 変数として保存します;

  9. function sub_sql($str)

  10. {
  11. global $prefix;//グローバル関数, table 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. //データを読み取り、データを 1 ビット戻し、データが空の場合は戻ります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 format は配列形式、上付き文字はフィールド名、下付き文字ははデータ、$w は条件の上付き文字がフィールド名、下付き文字がデータです。0 は等号、1 はより大きい、-1 はより小さいです。 $t,$v,$w,$p=0)
  49. {
  50. $this->Sql($t);
  51. $v_str="";
  52. $w_str="";
  53. $f="";
  54. foreach($v as $key=>$vaule)
  55. {
  56. if (!is_numeric($key))
  57. {
  58. if(empty($v_str))
  59. {
  60. $v_str=htmlspecialchars($key)."= '".htmlspecialchars($vaule)."'";
  61. }else
  62. {
  63. $v_str=$v_str.",".htmlspecialchars($key)."='".htmlspecialchars($vaule)."'";
  64. }
  65. }
  66. }
  67. switch($p)
  68. {
  69. case 0 :
  70. $f="=";
  71. Break;
  72. case 1:
  73. $f=">";
  74. Break;
  75. case -1:
  76. $f="<";
  77. 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 はより小さい。 $w_str="";
  99. $f="";
  100. switch($p)
  101. {
  102. case 0:
  103. $f=" =";
  104. Break;
  105. case 1:
  106. $f=">";
  107. Break;
  108. case -1:
  109. $f="<";
  110. Break;
  111. }
  112. if(!empty($f) )
  113. {
  114. foreach($w as $key=>$vaule)
  115. {
  116. if(!is_numeric($key))
  117. {
  118. if(empty($v_str))
  119. {
  120. $w_str=htmlspecialchars($key ).$f.htmlspecialchars($vaule)."'";
  121. }else
  122. {
  123. $w_str=$w_str.",".htmlspecialchars($key).$f.htmlspecialchars($vaule)."'"
  124. }
  125. }
  126. }
  127. }
  128. $str="「.$t. " WHERE ".$w_str;
  129. return $result = mysql_query($str);
  130. }
  131. function Add($t,$v)
  132. {
  133. $this->sub_sql($t);
  134. $k_str="";
  135. $v_str="";
  136. foreach($v as $key=>$ vaule)
  137. {
  138. if(!is_numeric($key)){
  139. if(empty($k_str))
  140. {
  141. $k_str=htmlspecialchars($key);
  142. $v_str="'".htmlspecialchars($vaule)。 "'";
  143. }else
  144. {
  145. $k_str=$k_str.",".htmlspecialchars($key);
  146. $v_str=$v_str.","."'".htmlspecialchars($vaule)."'" ;
  147. }
  148. }
  149. }
  150. $str="INSERT INTO ".$t."(".$k_str.")"."value(".$v_str.")";
  151. return $result = mysql_query($ str);
  152. }
  153. }
  154. ?>

复制代


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。