php备份数据库结构与数据
<?php/** * @desc php,mysql数据库备份 * @author mengdejun * @date 201011202222 */class DbBak {var $connection=null;//数据库连接var $host=null;//主机var $usr=null;//用户var $pwd=null;//密码public function __construct($host,$usr,$pwd,$database=null){$this->host=$host;$this->usr=$usr;$this->pwd=$pwd;$this->connection=mysql_connect($this->host,$this->usr,$this->pwd);if(!empty($database))mysql_select_db($database,$this->connection);}//发送数据库命令public function send($sql){mysql_query($sql,$this->connection);}//枚举数据库表public function list_tables($database){ $rs = mysql_list_tables($database,$this->connection); $tables = array(); while ($row = mysql_fetch_row($rs)) { $tables[] = $row; } mysql_free_result($rs); return $tables;}//导出数据库数据public function get_table_data($table){$tables=null; $rs=mysql_query("SELECT * FROM `{$table}`",$this->connection); while ($row=mysql_fetch_row($rs)) { $tables.=$this->get_insert_sql($table, $row); } mysql_free_result($rs); return $tables;}//导出数据库结构public function get_table_structure($table){$a=mysql_query("show create table `{$table}`",$this->connection);$row=mysql_fetch_assoc($a);return $row['Create Table'].';';//导出表结构}//获取insert语句private function get_insert_sql($table,$row){ $sql = "INSERT INTO `{$table}` VALUES ("; $values = array(); foreach ($row as $value) { $values[] = "'".mysql_real_escape_string($value)."'"; } $sql.=implode(',',$values).");"; return $sql;}}?><?php require'DbBak.cls.php';$db=new DbBak("localhost","root","jack","dedecmsv56utf");fopen("a.sql","w");echo $db->get_table_structure("dede_stepselect");echo $db->get_table_data("dede_stepselect");?>
页:
[1]