Ver Mensaje Individual
  #16 (permalink)  
Antiguo 18/01/2011, 11:18
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Procedimientos con OUT

Si reinicias la conexión, la variable "@total" muere. No podrás leerla y te dará NULL.
Lo que puede corresponder usar es o tes variables distintas para los result, o bien liberar los recursos una vez terminados:

Código PHP:
Ver original
  1. $link1 = mysqli_connect($hostname, $username, $password) or die(mysqli_error($link1));
  2. mysqli_select_db($link1,$database);
  3. if($link1)
  4.     $sql = "set @total='';";
  5.     $resultado1 = mysqli_query($link1,$sql) ;
  6.     if($resultado1)
  7.         {$sql = "CALL procedure1('17')";
  8.         $resultado2 = mysqli_query($link1,$sql) ;
  9.         if($resultado2)
  10.             {$sql = "SELECT @total";
  11.               $resultado3 = mysqli_query($link1,$sql)
  12.                   or die('No se pudo realizar la consulta ' . mysqli_error($link1));  
  13.               }
  14.          }

o bien:
Código PHP:
Ver original
  1. $link1 = mysqli_connect($hostname, $username, $password) or die(mysqli_error($link1));
  2. mysqli_select_db($link1,$database);
  3. if($link1)
  4.     $sql = "set @total='';";
  5.     $resultado = mysqli_query($link1,$sql) ;
  6.     if($resultado)
  7.         {$sql = "CALL procedure1('17')";
  8.         mysql_free_result($resultado);
  9.         $resultado = mysqli_query($link1,$sql) ;
  10.         if($resultado)
  11.             {$sql = "SELECT @total";
  12.               mysql_free_result($resultado);
  13.               $resultado = mysqli_query($link1,$sql)
  14.                   or die('No se pudo realizar la consulta ' . mysqli_error($link1));  
  15.               }
  16.          }

De todos modos te recuerdo que esto ya es tema del Foro de PHP.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)