php数据库导出sql文件
php将mysql数据库整库导出生成sql文件的详细代码。
文件名:db_backup.php
源代码:
<?php ini_set("max_execution_time", "180");//避免数据量过大,导出不全的情况出现。$host="";//数据库地址$dbname="";//这里配置数据库名$username="";//用户名$passw="";//这里配置密码$filename=date("Y-m-d_H-i-s")."-".$dbname.".sql";header("Content-disposition:filename=".$filename);//所保存的文件名header("Content-type:application/octetstream");header("Pragma:no-cache");header("Expires:0");//备份数据$i = 0;$crlf="";global $dbconn;$dbconn = mysql_connect($host,$username,$passw]);//数据库主机,用户名,密码$db = mysql_select_db($dbname,$dbconn);mysql_query("SET NAMES 'utf8'");$tables =mysql_list_tables($dbname,$dbconn);$num_tables = @mysql_numrows($tables);print "-- filename=".$filename;while($i < $num_tables){$table=mysql_tablename($tables,$i);print $crlf;echo get_table_structure($dbname, $table, $crlf).";$crlf$crlf";//echo get_table_def($dbname, $table, $crlf).";$crlf$crlf";echo get_table_content($dbname, $table, $crlf);$i++;} // www.jbxue.com/*新增的获得详细表结构*/function get_table_structure($db,$table,$crlf){global $drop;$schema_create = "";if(!empty($drop)){ $schema_create .= "DROP TABLE IF EXISTS `$table`;$crlf";}$result =mysql_db_query($db, "SHOW CREATE TABLE $table");$row=mysql_fetch_array($result);$schema_create .= $crlf."-- ".$row[0].$crlf;$schema_create .= $row[1].$crlf;Return $schema_create;}/*//原来别人的取得数据库结构,但不完整function get_table_def($db,$table,$crlf){global $drop;$schema_create = "";if(!empty($drop))$schema_create .= "DROP TABLE IF EXISTS `$table`;$crlf";$schema_create .= "CREATE TABLE `$table` ($crlf";$result = mysql_db_query($db, "SHOW full FIELDS FROM $table");while($row = mysql_fetch_array($result)){ // www.jbxue.com$schema_create .= " `$row[Field]` $row[Type]";if(isset($row["Default"]) && (!empty($row["Default"]) || $row["Default"] == "0"))$schema_create .= " DEFAULT '$row[Default]'";if($row["Null"] != "YES")$schema_create .= " NOT NULL";if($row["Extra"] != "")$schema_create .= " $row[Extra]";if($row["Comment"] != "")$schema_create .= " Comment '$row[Comment]'";$schema_create .= ",$crlf";}$schema_create = ereg_replace(",".$crlf."$", "", $schema_create);$result = mysql_db_query($db, "SHOW KEYS FROM $table");while($row = mysql_fetch_array($result)){$kname=$row['Key_name'];if(($kname != "PRIMARY") && ($row['Non_unique'] == 0))$kname="UNIQUE|$kname";if(!isset($index[$kname]))$index[$kname] = array();$index[$kname][] = $row['Column_name'];}while(list($x,$columns) = @each($index)){$schema_create .= ",$crlf";if($x == "PRIMARY")$schema_create .= " PRIMARY KEY (".implode($columns,", ") . ")";elseif (substr($x,0,6) == "UNIQUE")$schema_create .= " UNIQUE ".substr($x,7)." (" . implode($columns, ", ") . ")";else$schema_create .= " KEY $x (" . implode($columns, ", ") . ")";}$schema_create .= "$crlf)";return (stripslashes($schema_create));}*///获得表内容function get_table_content($db, $table, $crlf){$schema_create = "";$temp = "";$result = mysql_db_query($db, "SELECT * FROM $table");$i = 0;while($row = mysql_fetch_row($result)){$schema_insert = "INSERT INTO `$table` VALUES (";for($j=0; $j
登录后复制
推荐教程:PHP教程
立即学习“PHP免费学习笔记(深入)”;
以上就是php数据库导出sql文件的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2525211.html