php数据库导出sql文件
内容导读
收集整理的这篇技术教程文章主要介绍了php数据库导出sql文件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3655字,纯文字阅读大概需要6分钟。
内容图文
php数据库导出sql文件
php将mysql数据库整库导出生成sql文件的详细代码。
文件名:db_backup.php
源代码:
<?phpini_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="rn";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<mysql_num_fields($result);$j++){if(!isset($row[$j]))$schema_insert .= " NULL,";elseif($row[$j] != "")$schema_insert .= " '".addslashes($row[$j])."',";else$schema_insert .= " '',";}$schema_insert = ereg_replace(",$", "",$schema_insert);$schema_insert .= ");$crlf";$temp = $temp.$schema_insert ;$i++;}return $temp;}?>
推荐教程:PHP教程
以上就是php数据库导出sql文件的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是为您收集整理的php数据库导出sql文件全部内容,希望文章能够帮你解决php数据库导出sql文件所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。