User following code for dumping mysql database . Give appropriate values for variables
$dbname(Data base name)
$dbhost(Host name)
$username(User name)
$pass(Password)
<?php
$dbname="your database name";
$dbhost="Host name";
$username="Database user name";
$pass="Database Password";
$constr=mysql_connect($dbhost,$username,$pass) or die("Connection failure");
mysql_select_db($dbname,$constr);
function sqldumptable($table, $fp=0) {
$tabledump = "DROP TABLE IF EXISTS $table;\n";
$tabledump .= "CREATE TABLE $table (\n";
$firstfield=1;
// get columns and spec
$fields = mysql_query("SHOW FIELDS FROM $table");
while ($field = mysql_fetch_array($fields)) {
if (!$firstfield) {
$tabledump .= ",\n";
} else {
$firstfield=0;
}
$tabledump .= " $field[Field] $field[Type]";
if (!empty($field["Default"])) {
// get default value
$tabledump .= " DEFAULT '$field[Default]'";
}
if ($field['Null'] != "YES") {
// can field be null
$tabledump .= " NOT NULL";
}
if ($field['Extra'] != "") {
// any extra info?
$tabledump .= " $field[Extra]";
}
}
mysql_free_result($fields);
// get keys list
$keys = mysql_query("SHOW KEYS FROM $table");
while ($key = mysql_fetch_array($keys)) {
$kname=$key['Key_name'];
if ($kname != "PRIMARY" and $key['Non_unique'] == 0) {
$kname="UNIQUE|$kname";
}
if(!is_array($index[$kname])) {
$index[$kname] = array();
}
$index[$kname][] = $key['Column_name'];
}
mysql_free_result($keys);
// get each key info
while(list($kname, $columns) = @each($index)){
$tabledump .= ",\n";
$colnames=implode($columns,",");
if($kname == "PRIMARY"){
// do primary key
$tabledump .= " PRIMARY KEY ($colnames)";
} else {
// do standard key
if (substr($kname,0,6) == "UNIQUE") {
// key is unique
$kname=substr($kname,7);
}
$tabledump .= " KEY $kname ($colnames)";
}
}
$tabledump .= "\n);\n\n";
if ($fp) {
fwrite($fp,$tabledump);
} else {
echo $tabledump;
}
// get data
$rows = mysql_query("SELECT * FROM $table");
$numfields=mysql_num_fields($rows);
while ($row = mysql_fetch_array($rows)) {
$tabledump = "INSERT INTO $table VALUES(";
$fieldcounter=-1;
$firstfield=1;
// get each field's data
while (++$fieldcounter<$numfields) {
if (!$firstfield) {
$tabledump.=", ";
} else {
$firstfield=0;
}
if (!isset($row[$fieldcounter])) {
$tabledump .= "NULL";
} else {
$tabledump .= "'".mysql_escape_string($row[$fieldcounter])."'";
}
}
$tabledump .= ");\n";
if ($fp) {
fwrite($fp,$tabledump);
} else {
echo $tabledump;
}
}
mysql_free_result($rows);
//print $tabledump;
return true;
}
$filename="database_backup.txt";
$filehandle=fopen($filename,"w");
$result=mysql_query("SHOW tables");
while ($currow=mysql_fetch_array($result)) {
sqldumptable($currow[0], $filehandle);
fwrite($filehandle, "\n\n\n");
}
fclose($filehandle);
echo "<p><br><br><br><br><font color='#0000ff'>Data dumped sucessfully!Click <a href='database_backup.txt'><b>here</b></a> to download</font></p>";
?>