Write haof XML files: Gonzalo A. Villegas
(
gvillegas@parquesoft.com)
Fecha: jue 04 ago 2005 - 19:16:32 CEST
Hola...
Esta función podría servirte...
function dumpDB($dbName, $type) {
$tables =
mysql_list_tables($dbName);
$Dx_Create_Tables = "";
switch($type) {
case "data":
while
($tableItem = mysql_fetch_row($tables)) {
$query
= "Insert into ".$tableItem[0]." (";
mysql_query("LOCK
TABLES ".$tableItem[0]." WRITE");
$qresult
= mysql_query("SELECT * FROM ".$tableItem[0]."");
$fields
= "";
$values
= "";
while
($line = mysql_fetch_assoc($qresult)) {
while
(list($col_name, $col_value) = each($line)) {
$fields
.= "".$col_name.",";
if
(!is_int($col_value) && !is_numeric($col_value))
$values
.= "'" . mysql_escape_string($col_value) . "',";
else
$values
.= "" . mysql_escape_string($col_value) . ",";
}
$fields
= substr($fields, 0, strlen($fields)-1);
$values
= substr($values, 0, strlen($values)-1);
$myquery
= $query . $fields . ") values (" . $values .
");";
$Dx_Create_Tables
.= "\r\n<xquery>\n" . $myquery .
"\n</xquery>\r\n" ;
$fields
= "";
$values
= "";
}
mysql_query("UNLOCK
TABLES;");
}
break;
case "create":
$defs
= array();
while
($tableItem = mysql_fetch_row($tables)) {
$result
= mysql_query("SHOW CREATE TABLE " . $dbName . "." .
$tableItem[0]);
$def
= "";
while ($def =
mysql_fetch_row($result)) {
if(!empty($def))
array_push($defs,$def);
}
}
foreach($defs
as $key => $val) {
$Dx_Create_Tables
.= "# Drop table '" . $val[0] . "' if exist";
$Dx_Create_Tables
.= "\n<xquery>\n";
$Dx_Create_Tables
.= "DROP TABLE IF EXISTS " . $val[0] . ";";
$Dx_Create_Tables
.= "\n</xquery>\n";
$Dx_Create_Tables
.= "# create table '" . $val[0] . "'";
$Dx_Create_Tables
.= "\n<xquery>\n";
$Dx_Create_Tables
.= "" . $val[1] . " ;";
$Dx_Create_Tables
.= "\n</xquery>\r\n";
}
break;
}
return
$Dx_Create_Tables;
}
Gonzalo A. Villegas
Lider Desarrollo
SWS
Parquesoft Cali - Colombia
----- Original Message -----
From: "SISTEMAS ARONEM" <
sistemas@aronem.com>
To: <
php-es@lists.php.net>
Sent: Thursday, August 04, 2005 10:59 AM
Subject: [PHP-ES] mysqldump desde php
> Hola amigos.
>
> Necesito hacer un volcado de una
base de datos para respaldos tal cual lo
> hace mysqldump, pero necesito
hacerlo desde código php ya que no tengo
> acceso directo al shell del
computador. He buscado en la referencia de
> funciones de mysql en www.php.net
y no encuentro. Alguien sabe como
> hacerlo?
>
> Antes de nada agradesco su valioso
tiempo.
>
> Saludos
> Hermann
> --
> PHP Spanish Localization Talk
Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
-- PHP Spanish Localization Talk Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Este archivo fue generado por hypermail 2.1.7 : sáb 18 mar 2006 - 18:23:48 CET