Problema al obtener estructura de procedimientos en mysql con php

Iniciado por 1mpuls0, 26 Enero 2012, 02:59 AM

0 Miembros y 1 Visitante están viendo este tema.

1mpuls0

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

Código (php) [Seleccionar]

<?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 (php) [Seleccionar]
$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 (php) [Seleccionar]
$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 (php) [Seleccionar]
<td><?php echo $arrayProcedure[2]?></td>

Alguien sabe como puedo solicionarlo.

Gracias
abc