elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  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 1,771 veces)
1mpuls0


Desconectado Desconectado

Mensajes: 1.186


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

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

Código
  1. <?php
  2. $server = "servidor";
  3. $user = "user";
  4. $pass = "pass";
  5. $database = "database";
  6. $connection=mysql_connect("$server","$user","$pass")or die("Error conectando a la base de datos");
  7. $db=mysql_select_db("$database",$connection) or die ("Error seleccionando la base de datos");
  8. ?>
  9. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  10. <html xmlns="http://www.w3.org/1999/xhtml">
  11. <head>
  12. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  13. <title>Tablas</title>
  14. </head>
  15. <body>
  16. <center>Tablas de la base de datos <?php echo $database?></center>
  17. <form id="form1" name="form1" method="post" action="">
  18. <center>
  19.  <input type="submit" name="Buscar" id="Buscar" value="Buscar" />
  20.   </center>
  21. </form>
  22.  
  23. <?php
  24. if(isset($_POST['Buscar'])){
  25. $queryTables="SHOW FULL TABLES FROM ".$database." WHERE table_type='BASE TABLE';";
  26. $resultTables=mysql_query($queryTables) or die('Error, query failed');
  27. $countTables=mysql_num_rows($resultTables);
  28. if($countTables!=0){
  29. ?>
  30. <center><?php echo "<br><br>".$countTables." Tablas"?></center>
  31.            <table width="972" border="1" align="center">
  32.                <tr>
  33.                    <th width="9%" height="24" scope="col">NOMBRE</th>
  34.                    <th width="14%" scope="col">SCRIPT</th>
  35.                </tr>
  36.                <?php
  37.                while($arrayTables=mysql_fetch_array($resultTables)){
  38.                    $queryTable="SHOW CREATE TABLE ".$arrayTables[0];
  39.                    $resultTable=mysql_query($queryTable) or die('Error, query failed');
  40.                    $arrayTable=mysql_fetch_array($resultTable);
  41.                ?>
  42.                <tr>
  43.                    <td><?php echo $arrayTable[0]?></td>
  44.                    <td><?php echo $arrayTable[1]?></td>
  45.                </tr>
  46.                <?php
  47.   }
  48.   ?>
  49. </table>
  50.        <?php
  51. }
  52.  
  53. $queryViews="SHOW FULL TABLES FROM ".$database." WHERE table_type='VIEW';";
  54. $resultViews=mysql_query($queryViews) or die('Error, query failed');
  55. $countViews=mysql_num_rows($resultViews);
  56. if($countViews!=0){
  57. ?>
  58. <center><?php echo "<br><br>".$countViews." Vistas"?></center>
  59. <table width="972" border="1" align="center">
  60.                <tr>
  61.                    <th width="9%" height="24" scope="col">NOMBRE</th>
  62.                    <th width="14%" scope="col">SCRIPT</th>
  63.                </tr>
  64.                <?php
  65.                while($arrayViews=mysql_fetch_array($resultViews)){
  66.                    $queryView="SHOW CREATE TABLE ".$arrayViews[0];
  67.                    $resultView=mysql_query($queryView) or die('Error, query failed');
  68.                    $arrayView=mysql_fetch_array($resultView);
  69.                ?>
  70.                <tr>
  71.                    <td><?php echo $arrayView[0]?></td>
  72.                    <td><?php echo $arrayView[1]?></td>
  73.                </tr>
  74.                <?php
  75.   }
  76.   ?>
  77. </table>
  78.        <?php
  79. }
  80.  
  81. $queryProcedures="SHOW PROCEDURE STATUS WHERE Db='".$database."'";
  82. $resultProcedures=mysql_query($queryProcedures) or die('Error, query failed');
  83. $countProcedures=mysql_num_rows($resultProcedures);
  84. if($countProcedures!=0){
  85. ?>
  86.         <center><?php echo "<br><br>".$countProcedures." Procedimientos"?></center>
  87. <table width="972" border="1" align="center">
  88.                <tr>
  89.                    <th width="9%" height="24" scope="col">NOMBRE</th>
  90.                    <th width="14%" scope="col">SCRIPT</th>
  91.                </tr>
  92.                <?php
  93.                while($arrayProcedures=mysql_fetch_array($resultProcedures)){
  94.                    $queryProcedure="SHOW CREATE PROCEDURE ".$arrayProcedures[1];
  95.                    $resultProcedure=mysql_query($queryProcedure) or die('Error, query failed');
  96.                    $arrayProcedure=mysql_fetch_array($resultProcedure);
  97.                ?>
  98.                <tr>
  99.                    <td><?php echo $arrayProcedure[0]?></td>
  100.                    <td><?php echo $arrayProcedure[2]?></td>
  101.                </tr>
  102.                <?php
  103.   }
  104.   ?>
  105. </table>
  106.        <?php
  107. }
  108. }
  109. ?>      
  110. </body>
  111. </html>
  112.  

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
  1. $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
  1. $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
  1. <td><?php echo $arrayProcedure[2]?></td>

Alguien sabe como puedo solicionarlo.

Gracias


En línea

abc
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Obtener tablas con SQL Injection (mysql 4)
Nivel Web
Leber 3 15,710 Último mensaje 12 Septiembre 2009, 11:38 am
por tomrian
PHP, MySQL y Procedimientos Almacenados?
PHP
jguillen 1 9,170 Último mensaje 28 Noviembre 2008, 16:03 pm
por дٳŦ٭
Actualizar campo identico en múltiples BD con dif. estructura (MySQL) ???
Bases de Datos
l337* 2 3,888 Último mensaje 13 Julio 2011, 01:06 am
por l337*
[Ayuda!]Problema con procedimientos Irvine « 1 2 »
ASM
.:UND3R:. 16 14,019 Último mensaje 1 Diciembre 2011, 20:49 pm
por x64core
Estructura db MySQL
Bases de Datos
Eavesdropping 1 2,249 Último mensaje 26 Abril 2012, 15:22 pm
por HdM
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines