PHP如何编写一个实现MySQL数据库备份的长尾类库?
- 内容介绍
- 文章标签
- 相关推荐
本文共计422个文字,预计阅读时间需要2分钟。
php/** * 备份数据库结构 * 正确的研究如何备份数据库,分享一个PHP实现MySQL备份的类库 */class MySQLBackup { /** * 函数名称: table2sql * 函数功能: 将表的结构转换为SQL * 函数参数: $table: 要转换的表名 */ public function table2sql($table) { $result=[]; $sql=SHOW CREATE TABLE `$table`; $res=$this->query($sql); $row=$res->fetch_assoc(); $result[]=$row['Create Table']; return implode(\n, $result); }
/** * 执行查询 * @param $sql * @return mixed */ private function query($sql) { // 这里应该包含数据库连接和执行查询的代码 // 示例代码,需要根据实际情况修改 $db=new mysqli(localhost, username, password, database); if ($db->connect_error) { die(连接失败: . $db->connect_error); } $res=$db->query($sql); $db->close(); return $res; }}
<?php /****** 备份数据库结构 ******/ /****正好要研究如何备份数据库,分享一个php实现MYSQL备份的类库********/ /* 函数名称:table2sql() 函数功能:把表的结构转换成为SQL 函数参数:$table: 要进行提取的表名 返 回 值:返回提取后的结果,SQL集合 函数作者:heiyeluren */ function table2sql($table) { global $db; $tabledump = "DROP TABLE IF EXISTS $table;\n"; $createtable = $db->query("SHOW CREATE TABLE $table"); $create = $db->fetch_row($createtable); $tabledump .= $create[1].";\n\n"; return $tabledump; } /****** 备份数据库结构和所有数据 ******/ /* 函数名称:data2sql() 函数功能:把表的结构和数据转换成为SQL 函数参数:$table: 要进行提取的表名 返 回 值:返回提取后的结果,SQL集合 函数作者:heiyeluren */ function data2sql($table) { global $db; $tabledump = "DROP TABLE IF EXISTS $table;\n"; $createtable = $db->query("SHOW CREATE TABLE $table"); $create = $db->fetch_row($createtable); $tabledump .= $create[1].";\n\n"; $rows = $db->query("SELECT * FROM $table"); $numfields = $db->num_fields($rows); $numrows = $db->num_rows($rows); while ($row = $db->fetch_row($rows)) { $comma = ""; $tabledump .= "INSERT INTO $table VALUES("; for($i = 0; $i < $numfields; $i++) { $tabledump .= $comma."'".mysql_escape_string($row[$i])."'"; $comma = ","; } $tabledump .= ");\n"; } $tabledump .= "\n"; return $tabledump; } ?>
本文共计422个文字,预计阅读时间需要2分钟。
php/** * 备份数据库结构 * 正确的研究如何备份数据库,分享一个PHP实现MySQL备份的类库 */class MySQLBackup { /** * 函数名称: table2sql * 函数功能: 将表的结构转换为SQL * 函数参数: $table: 要转换的表名 */ public function table2sql($table) { $result=[]; $sql=SHOW CREATE TABLE `$table`; $res=$this->query($sql); $row=$res->fetch_assoc(); $result[]=$row['Create Table']; return implode(\n, $result); }
/** * 执行查询 * @param $sql * @return mixed */ private function query($sql) { // 这里应该包含数据库连接和执行查询的代码 // 示例代码,需要根据实际情况修改 $db=new mysqli(localhost, username, password, database); if ($db->connect_error) { die(连接失败: . $db->connect_error); } $res=$db->query($sql); $db->close(); return $res; }}
<?php /****** 备份数据库结构 ******/ /****正好要研究如何备份数据库,分享一个php实现MYSQL备份的类库********/ /* 函数名称:table2sql() 函数功能:把表的结构转换成为SQL 函数参数:$table: 要进行提取的表名 返 回 值:返回提取后的结果,SQL集合 函数作者:heiyeluren */ function table2sql($table) { global $db; $tabledump = "DROP TABLE IF EXISTS $table;\n"; $createtable = $db->query("SHOW CREATE TABLE $table"); $create = $db->fetch_row($createtable); $tabledump .= $create[1].";\n\n"; return $tabledump; } /****** 备份数据库结构和所有数据 ******/ /* 函数名称:data2sql() 函数功能:把表的结构和数据转换成为SQL 函数参数:$table: 要进行提取的表名 返 回 值:返回提取后的结果,SQL集合 函数作者:heiyeluren */ function data2sql($table) { global $db; $tabledump = "DROP TABLE IF EXISTS $table;\n"; $createtable = $db->query("SHOW CREATE TABLE $table"); $create = $db->fetch_row($createtable); $tabledump .= $create[1].";\n\n"; $rows = $db->query("SELECT * FROM $table"); $numfields = $db->num_fields($rows); $numrows = $db->num_rows($rows); while ($row = $db->fetch_row($rows)) { $comma = ""; $tabledump .= "INSERT INTO $table VALUES("; for($i = 0; $i < $numfields; $i++) { $tabledump .= $comma."'".mysql_escape_string($row[$i])."'"; $comma = ","; } $tabledump .= ");\n"; } $tabledump .= "\n"; return $tabledump; } ?>

