Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Metadatos usando PDO

Estas en el tema de Metadatos usando PDO en el foro de Mysql en Foros del Web. Buenas a todos: Hoy estoy intentando desarrollar un script en PHP5 que genere un backup de una base de datos dada. Al no encontrar ningún ...
  #1 (permalink)  
Antiguo 08/03/2010, 11:03
 
Fecha de Ingreso: marzo-2008
Mensajes: 207
Antigüedad: 13 años, 10 meses
Puntos: 0
Pregunta Metadatos usando PDO

Buenas a todos:

Hoy estoy intentando desarrollar un script en PHP5 que genere un backup de una base de datos dada. Al no encontrar ningún comando que haga esto directamente (o al menos que me funcionara) me he visto en la obligación de desarrollarlo yo. Bien, necesito poder listar los nombres de las tablas de la base de datos y de éstas, los datos de sus campos (nombre, tipo, etc...).

Hace mil que no toco PDO, así que un poquito de ayuda me vendría bastante bien (pretendo olvidarme ya de por vida de PHP4 y sus mysql_nosecuanto() y hacer las cosas bien).

¿Alguien que me pueda indicar un par de funciones PDO o sus equivalentes en sentencias SQL?

Agradezco desde ya cualquier ayuda.

Muchas gracias a todos.


Un saludo.
  #2 (permalink)  
Antiguo 08/03/2010, 12:49
 
Fecha de Ingreso: enero-2010
Ubicación: Sevilla
Mensajes: 202
Antigüedad: 12 años
Puntos: 5
Respuesta: Metadatos usando PDO

Creo que esto es lo que buscas.
Si no, aquí tienes más ejemplos:
http://www.webestilo.com/foros/mensa...ro=3&msg=46516

http://www.webintenta.com/mostrar-ta...l-con-php.html

http://www.rinconastur.net/php/php69.php

¡¡Que invento el Google!!
__________________
Mi blog de temas más o menos técnicos

Y aquí el Jamón jamon de Jabugo

Última edición por Teosanchez; 08/03/2010 a las 13:02
  #3 (permalink)  
Antiguo 09/03/2010, 02:11
 
Fecha de Ingreso: marzo-2008
Mensajes: 207
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Metadatos usando PDO

Antes de venir aquí a preguntar ya había buscado en Google. Además, eso no es lo que estoy buscando, esas funciones son anteriores a PHP5 y lo que yo busco es la forma de hacerlo con funciones PDO de PHP5 o en su defecto con sentencias SQL y como se desarrollaría el código usando PDO y dichas sentencias.

Muchas gracias igualmente por la ayuda.

¿Alguien que sepa guiarme con PDO?
  #4 (permalink)  
Antiguo 09/03/2010, 04:31
 
Fecha de Ingreso: marzo-2008
Mensajes: 207
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Metadatos usando PDO

Bueno, al final después de mucho pelearme con el código he conseguido hacer algo medianamente decente.

Esto que os dejo es una función de una clase que he creado para gestionar los accesos a la base de datos.

Código PHP:
Ver original
  1. function createBackup()
  2.       {
  3.         $key = "Tables_in_".$this->bdconfig["database"];
  4.         $cont = 0;
  5.         $query = "SHOW TABLES";
  6.        
  7.         $peticion = $this->conexion->prepare($query);
  8.        
  9.         $peticion->execute();
  10.      
  11.         while($tables = $peticion->fetch())
  12.         {          
  13.           $table = $tables[$key];
  14.              
  15.           $backup .= "/***************************
  16.                        Script de la tabla '".$table."'
  17.                       ***************************/
  18.                       CREATE TABLE `".$table."` (";
  19.            
  20.           $query = "SHOW COLUMNS FROM ".$table;
  21.          
  22.           $peticion2 = $this->conexion->prepare($query);
  23.          
  24.           $peticion2->execute();
  25.          
  26.           while($column = $peticion2->fetch())
  27.           {      
  28.             $primary_key;
  29.                          
  30.             if ($column["Null"] == "NO")
  31.             {
  32.               $null = "NOT NULL";
  33.             }
  34.             else
  35.             {
  36.               $null = "NULL";
  37.             }
  38.            
  39.             if ($column["Key"] == "PRI")
  40.             {
  41.               $primary_key = $column["Field"];
  42.             }
  43.            
  44.             $backup .= "`".$column["Field"]."` ".$column["Type"]." DEFAULT '".$column["Default"]."' ".$null." ".$columns["Extra"]." ,
  45.            ";              
  46.           }        
  47.          
  48.           $backup .= "PRIMARY KEY ( `".$primary_key."` ) )
  49.            
  50.          ";
  51.            
  52.           $backup = str_replace("DEFAULT ''", "", $backup);  
  53.            
  54.           // El resto del código para el backup
  55.         }
  56.  
  57.         return $backup;
  58. }

Espero que os sirva, al menos la parte de los metadatos, que es lo complicado, el resto del volcado de datos es fácil de hacer ;) .

Etiquetas: metadatos, pdo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:08.