首頁 >後端開發 >php教程 >php資料備份:單表備份 整表備份 匯入資料庫

php資料備份:單表備份 整表備份 匯入資料庫

WBOY
WBOY原創
2016-07-25 09:04:151088瀏覽
  1. class Db
  2. {
  3. var $conn;
  4. function Db($host="localhost", $user="root",$pass="root",$db="test")
  5. {
  6. if(!$this- >conn=mysql_connect($host,$user,$pass))
  7. die("無法連線到mysql 伺服器");
  8. mysql_select_db($db,$this->conn);
  9. mysql_query("設定名稱'UTF-8'");
  10. }
  11. 函數執行($sql)
  12. {
  13. return mysql_query($sql,$this->conn);
  14. }
  15. function findCount($sql)
  16. {
  17. $result=$this->execute($sql);
  18. return mysql_num_rows($result);
  19. }
  20. function findBySql($sql)
  21. function findBySql($sql)
  22. {
  23. $ array=array();
  24. $結果=mysql_query($sql);
  25. $i=0;
  26. while($row=mysql_fetch_assoc($result))
  27. {
  28. $array[ $i]=$row;
  29. $i++;
  30. }
  31. 回傳$array;
  32. }
  33. //$con的幾種情況
  34. //空:回傳全部記錄
  35. //陣列:eg. array('id'=>'1') 傳回id=1的記錄
  36. //string :eg. 'id=1' 傳回id=1的記錄
  37. function toExtJson($table,$start="0",$limit="10",$cons="")
  38. {
  39. $sql= $this->generateSql($table,$cons);
  40. $totalNum=$this->findCount($sql);
  41. $result=$this->findBySql($sql." LIMIT ".$start." ,".$limit);
  42. $ resultNum = count($result);//目前結果數
  43. $str="";
  44. $str.= "{";
  45. $str.= "'totalCount':'$totalNum', ";
  46. $str.="'行':";
  47. $str.="[";
  48. for($i=0;$i $str.="{";
  49. $count=count($result[$i]);
  50. $j=1;
  51. foreach($result[$i] as $key=>$val )
  52. {
  53. if($j {
  54. $str.="'". $key."':'".$val."',";
  55. }
  56. elseif($j==$count)
  57. {
  58. $str.="'".$key."':'".$val."'";
  59. }
  60. $j++;
  61. }
  62. $str.="}";
  63. if ($i != $resultNum-1) {
  64. $str.= ",";
  65. }
  66. }
  67. $str.="]";
  68. $str.="}";
  69. 回傳$str;
  70. }
  71. functiongenerateSql($table ,$cons)
  72. {
  73. $sql="";//sql條件
  74. $sql="select * from ".$table ;
  75. if($cons!="")
  76. {
  77. if(is_array($cons))
  78. {
  79. $k=0;
  80. foreach($cons as $key=>$val)
  81. {
  82. if($ k==0)
  83. {
  84. $sql.="where '";
  85. $sql.=$key;
  86. $sql.="'='";
  87. $sql. =$val."'";
  88. }else
  89. {
  90. $sql.="and '";
  91. $sql.=$key;
  92. $sql.="'=' ";
  93. $sql.=$val."'";
  94. }
  95. $k++;
  96. }
  97. }else
  98. {
  99. $sql.=" 其中". $cons;
  100. }
  101. }
  102. return $sql;
  103. }
  104. function toExtXml($table,$start="0",$limit="10",$cons ="")
  105. {
  106. $sql=$this-> ;generateSql($表,$cons);
  107. $totalNum=$this->findCount($sql);
  108. $result= $this->findBySql($sql." LIMIT ".$start." ,".$limit);
  109. $resultNum = count($result);//目前結果數
  110. header("Content-Type : text/xml");
  111. $xml="n";
  112. $xml.="n";
  113. $xml.="t".$totalNum."n";
  114. $xml.="tn";
  115. for($i=0;$i $xml.="ttn";
  116. foreach($result[$i] as $key=>$val)
  117. $xml.=" ttt".$val."".$鍵。 ">n";
  118. $xml.="tt
  119. n";
  120. }
  121. $xml.="t
  122. n";
  123. $xml.="n"; 回傳$xml; }
  124. // 輸出word表格
  125. function toWord($table,$mapping,$fileName)
  126. {
  127. header('Content-type: application/doc');
  128. header('Content-Disposition:attachment; filename="'.$fileName.'.doc"');
  129. echo ' xmlns:w="urn:schemas-microsoft-com:office:word"
  130. xmlns= “ http://www.w3.org/TR/REC-html40”>
  131. >
  132. '.$fileName.'
  133. 頭>
  134. ';
  135. echo'';
  136. if(is_array($mapping))
  137. {
  138. foreach($mapping as $key=>$val)
  139. echo'
  140. ;' ;
  141. }
  142. echo'
  143. ';
  144. $results=$this->findBySql('select * 從 '.$table);
  145. foreach($results as $result)
  146. {
  147. echo'
  148. ';
  149. foreach($result as $key=>$val)
  150. echo'
  151. ';
  152. echo'
  153. ';
  154. }
  155. echo'
  156. '.$val.'
    '.$val.'
    ';
  157. echo'';
  158. echo'
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn