elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 04:41  


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)

+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP
| | | |-+  Problema al obtener estructura de procedimientos en mysql con php
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema al obtener estructura de procedimientos en mysql con php  (Leído 201 veces)
Darhius


Desconectado Desconectado

Mensajes: 427


Divide y vencerás.


Ver Perfil
Problema al obtener estructura de procedimientos en mysql con php
« en: 26 Enero 2012, 02:59 »

Buenas.
Realicé el siguiente código para recuperar la estructura de las tablas, vistas y procedimientos de mysql.

Código
<?php
$server = "servidor";
$user = "user";
$pass = "pass";
$database = "database";
$connection=mysql_connect("$server","$user","$pass")or die("Error conectando a la base de datos");
$db=mysql_select_db("$database",$connection) or die ("Error seleccionando la base de datos");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Tablas</title>
</head>
<body>
<center>Tablas de la base de datos <?php echo $database?></center>
<form id="form1" name="form1" method="post" action="">
<center>
 <input type="submit" name="Buscar" id="Buscar" value="Buscar" />
  </center>
</form>
 
<?php
if(isset($_POST['Buscar'])){
$queryTables="SHOW FULL TABLES FROM ".$database." WHERE table_type='BASE TABLE';";
$resultTables=mysql_query($queryTables) or die('Error, query failed');
$countTables=mysql_num_rows($resultTables);
if($countTables!=0){
?>
<center><?php echo "<br><br>".$countTables." Tablas"?></center>
           <table width="972" border="1" align="center">
               <tr>
                   <th width="9%" height="24" scope="col">NOMBRE</th>
                   <th width="14%" scope="col">SCRIPT</th>
               </tr>
               <?php
               while($arrayTables=mysql_fetch_array($resultTables)){
                   $queryTable="SHOW CREATE TABLE ".$arrayTables[0];
                   $resultTable=mysql_query($queryTable) or die('Error, query failed');
                   $arrayTable=mysql_fetch_array($resultTable);
               ?>
               <tr>
                   <td><?php echo $arrayTable[0]?></td>
                   <td><?php echo $arrayTable[1]?></td>
               </tr>
               <?php
  }
  ?>
</table>
       <?php
}
 
$queryViews="SHOW FULL TABLES FROM ".$database." WHERE table_type='VIEW';";
$resultViews=mysql_query($queryViews) or die('Error, query failed');
$countViews=mysql_num_rows($resultViews);
if($countViews!=0){
?>
<center><?php echo "<br><br>".$countViews." Vistas"?></center>
<table width="972" border="1" align="center">
               <tr>
                   <th width="9%" height="24" scope="col">NOMBRE</th>
                   <th width="14%" scope="col">SCRIPT</th>
               </tr>
               <?php
               while($arrayViews=mysql_fetch_array($resultViews)){
                   $queryView="SHOW CREATE TABLE ".$arrayViews[0];
                   $resultView=mysql_query($queryView) or die('Error, query failed');
                   $arrayView=mysql_fetch_array($resultView);
               ?>
               <tr>
                   <td><?php echo $arrayView[0]?></td>
                   <td><?php echo $arrayView[1]?></td>
               </tr>
               <?php
  }
  ?>
</table>
       <?php
}
 
$queryProcedures="SHOW PROCEDURE STATUS WHERE Db='".$database."'";
$resultProcedures=mysql_query($queryProcedures) or die('Error, query failed');
$countProcedures=mysql_num_rows($resultProcedures);
if($countProcedures!=0){
?>
        <center><?php echo "<br><br>".$countProcedures." Procedimientos"?></center>
<table width="972" border="1" align="center">
               <tr>
                   <th width="9%" height="24" scope="col">NOMBRE</th>
                   <th width="14%" scope="col">SCRIPT</th>
               </tr>
               <?php
               while($arrayProcedures=mysql_fetch_array($resultProcedures)){
                   $queryProcedure="SHOW CREATE PROCEDURE ".$arrayProcedures[1];
                   $resultProcedure=mysql_query($queryProcedure) or die('Error, query failed');
                   $arrayProcedure=mysql_fetch_array($resultProcedure);
               ?>
               <tr>
                   <td><?php echo $arrayProcedure[0]?></td>
                   <td><?php echo $arrayProcedure[2]?></td>
               </tr>
               <?php
  }
  ?>
</table>
       <?php
}
}
?>      
</body>
</html>
 

En el servidor local no hay problema para mostrarme la estructura de las tablas, vistas y procedimientos, pero al montarlo al hosting no muestra la estructura de los procedimientos.

local


servidor



Al realizar la consulta desde consola en el servidor la realiza sin problema
Código
$queryProcedures="SHOW PROCEDURE STATUS WHERE Db='".$database."'";



Al realizar la consulta para obtener los datos de la tabla también la realiza sin problemas
Código
 $queryProcedure="SHOW CREATE PROCEDURE ".$arrayProcedures[1];


Si observan la estructura del procedimiento se encuentra en la posición 2 y al imprimirla es que no muestra nada.
Código
<td><?php echo $arrayProcedure[2]?></td>

Alguien sabe como puedo solicionarlo.

Gracias


En línea

"Cuenta mi historia... a quienes pregunten, cuéntala con verdad, las cosas malas junto con las buenas  y permite que sea juzgado apegado ellas... el resto... es silencio." Dinobot (Beast Wars Transformers)
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
MySQL, duda en procedimientos almacenados basicos
Desarrollo Web
Vlad_Asen 1 486 Último mensaje 10 Enero 2008, 19:57
por дٳŦ٭
PHP, MySQL y Procedimientos Almacenados?
PHP
jguillen 1 5,436 Último mensaje 28 Noviembre 2008, 16:03
por дٳŦ٭
Actualizar campo identico en múltiples BD con dif. estructura (MySQL) ???
Bases de Datos
l337* 2 1,394 Último mensaje 13 Julio 2011, 01:06
por l337*
[Ayuda!]Problema con procedimientos Irvine « 1 2 »
ASM
.:UND3R:. 16 2,188 Último mensaje 1 Diciembre 2011, 20:49
por RHL
Estructura db MySQL
Bases de Datos
Eavesdropping 1 229 Último mensaje 26 Abril 2012, 15:22
por Bulld0z3r
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines