Ver Mensaje Individual
  #5 (permalink)  
Antiguo 05/09/2014, 12:27
robertty55
 
Fecha de Ingreso: abril-2014
Mensajes: 37
Antigüedad: 10 años
Puntos: 2
Respuesta: Volcado de datos de phpmyadmin a web

No probé el codigo de arriba, pero se ve bueno, ahora, ya el uso de la extensión MYSQL está desaconsejada, podrías usar mysqli, pero tampoco es muy completa.

Lo que actualmente se está usando es la extensión PDO, por su robustez y seguridad en el flujo de información.

Te invito a leer un poco sobre eso, de todos modos te dejo un ejemplo

Archivo de Configuración de Conexión.

"ParametrosDB.php"
Código PHP:
Ver original
  1. <?php
  2. class basedeDatos{
  3.     public $host = "Aqui la IP o direccion de la base de datos (localhost)";
  4.     public $SGBD = "Motor de DB (mysql)";
  5.     public $DB   = "Nombre de la DB";
  6.     public $usuario    = "USUARIO (root)";
  7.     public $contrasena = "CONTRASEÑA(Si no posee, se deja vacio)";
  8. }
  9. ?>

Archivo que contiene la Clase extendida de PDO

"Conexion.php"
Código PHP:
Ver original
  1. <?php
  2. /**
  3.  * Archivo de Conexion
  4.  *
  5.  * Este archivo contiene la clase conexion que a su vez contiene los metodos y atributos para el manejo
  6.  * de las conexiones a la base de datos
  7.  * @author Pedro Lugo <[email protected]>
  8.  * @copyright 2014
  9.  */
  10. /**
  11.  * ParametrosDB
  12.  *
  13.  * Incluye el archivo que define los parametros de la base de datos a usar en la clase Conexion
  14.  */
  15. include 'parametrosBD.php';
  16.     /**
  17.      * Conexion
  18.      *  
  19.      * Clase para el manejo de las conexiones y las consultas a la base de datos
  20.      *
  21.      */
  22. class conexion extends PDO{
  23.     private $stmt;
  24.     private $conn;
  25.     private $opciones;
  26.     /**
  27.      * Constructor
  28.      *
  29.      * Constructor de los parametros de la conexion a la Base de datos
  30.      * @param string $host      Ip o url a la que se conecta
  31.      * @param string $otraBd    Nombre de la Base de datos
  32.      * @param string $user      Usuario de la Base de Datos
  33.      * @param string $contasena Password de la Base de Datos
  34.      */
  35.     public function __construct($host=NULL,$otraBd=NULL,$user=NULL,$contasena=NULL){
  36.         $bd = new basedeDatos();
  37.         if($otraBd!=NULL){
  38.             $bd->setBD($otraBd);
  39.             $bd->setUsuario($user);
  40.             $bd->setPass($contasena);
  41.             $bd->setHost($host);
  42.         }
  43.         $opciones = array(PDO::ATTR_PERSISTENT => true,
  44.                     PDO::ATTR_ERRMODE  => PDO::ERRMODE_EXCEPTION);              
  45.         try {  
  46.             $dsn = $bd->SGBD.":dbname=".$bd->DB.";"."host=".$bd->host;
  47.             $this->conn = new PDO($dsn,$bd->usuario,$bd->contrasena,$opciones);
  48.         }
  49.         catch (PDOException $e){
  50.             die($e->getMessage());
  51.         }
  52.     }
  53.     /**
  54.      * Numero de Registros
  55.      *
  56.      * Funcion que muestra la cantidad de registros devueltos de la consulta a la base de datos
  57.      * @param string $query Contiene la consulta SQL
  58.      * @access public
  59.      */
  60.     public function ver_num_registros($query){
  61.         $csl = $this->conn->prepare($query);
  62.         if($csl){
  63.             $csl->execute();
  64.             return $csl->rowCount();
  65.         }
  66.         else{
  67.             return self::get_error();
  68.         }
  69.     }
  70.     /**
  71.      * Consulta
  72.      *
  73.      * Funcion que devuelve el resultado de una consulta establecida en la variable $qry
  74.      * @param string La variable $qry debe contener la sentencia SQL
  75.      * @param integer La variable $param debe contener el valor segun el tipo fetch que necesita ejemplo: 2=fetch_assoc
  76.      */
  77.     public function query($qry,$param=NULL){
  78.         $tipoFetch = 2 ;
  79.         if(isset($param)){
  80.             $tipoFetch = $param;
  81.         }                        
  82.         try{
  83.             $res = $this->conn->query($qry, $tipoFetch);
  84.             return $res;
  85.         }
  86.         catch(PDOException $e){
  87.             $errorCod=($this->conn->errorInfo());
  88.             $errorCod=$errorCod[1];
  89.             switch ($errorCod){
  90.                 case $errorCod===1062:
  91.                     echo "¡Registro existente!";
  92.                     break;
  93.                 case $errorCod===1451:
  94.                     echo "¡Tiene datos Asignados!";
  95.                     break;
  96.                 default:
  97.                     echo "Error en la DB > ".$errorCod;
  98.                     break;
  99.             }
  100.             die();
  101.         }
  102.     }
  103.     /**
  104.      * Consulta Preparada
  105.      *
  106.      * Funcion encargada de ejecutar una consulta preparada
  107.      * @param string La variable $sql debe contener la sentencia SQL.
  108.      */
  109.     public function prepare($sql){
  110.         $this->stmt = $this->conn->prepare($sql);
  111.         return $this->stmt;
  112.     }
  113.     /**
  114.      * Ejecutar
  115.      *
  116.      * Funcion para ejecutar una consulta SQL
  117.      * @access public
  118.      */
  119.     public function execute(){
  120.         $this->stmt->execute();
  121.     }
  122. }
  123. ?>

Ahora, luego de que establecimos lo anterior, puedes hacer uso de la siguiente forma:

"index.php"

Código PHP:
Ver original
  1. <?php
  2.     /**
  3.     *Incluimos el archivo conexion.php
  4.     */
  5.     include 'conexion.php';
  6.     //Instanciamos la clase conexion()
  7.     $conex=new conexion();
  8. ?>
  9. <!--Cuerpo de la web-->
  10. <!DOCTYPE html>
  11. <html>
  12. <head>
  13.     <title>Prueba Conexion</title>
  14. </head>
  15. <body>
  16.     <table>
  17.     <thead><tr><th>Valor1</th><th>Valor2</th></tr></thead>
  18.         <tbody>
  19.         <?php
  20.             $results=$conex->("select * from tabla");
  21.             foreach ($results as $key => $value) {
  22.                 echo "<tr><td>".$value["columna1"]."</td><td>".$value["columna2"]."</td></tr>";
  23.             }
  24.         ?>
  25.         </tbody>
  26.     </table>
  27. </body>
  28. </html>