- <?php
- '.$br;
- $xml.= '<database name="'.$name.'">'.$br;
- //PARA CADA TABLA...
- while($table = mysql_fetch_row($result)) {
- $xml.= $tab.''.$br;
- //OBTENEMOS LAS FILAS
- $query3 = 'SELECT * FROM '.$table[0];
- $records = mysql_query($query3,$link) or die('cannot select from table: '.$table[0]);
- //ATRIBUTOS DE LA TABLA
- $attributes = array('name','blob','maxlength','multiple_key','not_null','numeric','primary_key','table','type','default','unique_key','unsigned','zerofill');
- $xml.= $tab.$tab.'<columns>'.$br;
- $x = 0;
- while($x < mysql_num_fields($records)) {
- $meta = mysql_fetch_field($records,$x);
- $xml.= $tab.$tab.$tab.'<column ;="" foreach($attributes="" as="" $attribute)="" {="" $xml.="$attribute.'="'.$meta-">$attribute.'" ';
- }
- $xml.= '/>'.$br;
- $x++;
- }
- $xml.= $tab.$tab.'</column>'.$br;
- $xml.= $tab.$tab.'<records>'.$br;
- while($record = mysql_fetch_assoc($records))
- {
- $xml.= $tab.$tab.$tab.'<record>'.$br;
- foreach($record as $key=>$value)
- {
- $xml.= $tab.$tab.$tab.$tab.'<'.$key.'>'.htmlspecialchars(stripslashes($value)).'<!--'.$key.'-->'.$br;
- }
- $xml.= $tab.$tab.$tab.'</record>'.$br;
- }
- $xml.= $tab.$tab.'</records>'.$br;
- $xml.= $tab.'</columns><table name="'.$table[0].'"></table>'.$br;
- }
- $xml.= '</database>';
- //GUARDAMOS EL FICHERO
- $handle = fopen($name.'-backup-'.time().'.xml','w+');
- fwrite($handle,$xml);
- fclose($handle);
- }
- ?>
En este blog voy dejando información que me suelo encuentro en Internet. Para poder tenerla a mano siempre, al igual que otra gente del palo.. Los temas están relacionados con informática, programación, desarrollo web y móvil.
2010-09-03
Backup de una base de datos MySQL a XML con PHP
En el blog de David Walsh he encontrado un interesante script con el que poder realizar un backup de una base de datos mysql a xml. El script es compatible tanto con PHP4 como con PHP5
No hay comentarios:
Publicar un comentario