Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/11/2008, 11:55
felipe_77
 
Fecha de Ingreso: mayo-2005
Mensajes: 21
Antigüedad: 19 años
Puntos: 0
Ayuda - mysqli Stored Procedures

Estoy trabajando con Stored Procedures y PHP 5. Utilizo la librería mysqli para realizar la conexión. Tengo un problema que no puedo resolver. Luego de llamar a un stored procedure que devuelve un recordset e intentar realizar otra consulta por más simple que sea, emite el siguiente error: Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in…. Es como si el link de la conexión no sirviera más y debo reconectarme para poder seguir realizando consultas.
Este es el código:

$link = mysqli_connect("localhost", "admin", "*****", "BaseDeDatos");

if (!$link) {
printf("Can't connect to localhost. Error: %s\n", mysqli_connect_error());
exit();
}

mysqli_query($link, "SELECT * FROM operadores ");
printf("Affected rows: %d\n", mysqli_affected_rows($link));

$result = mysqli_query($link, "CALL DetallesFacturas(125);
printf("Affected rows: %d\n", mysqli_affected_rows($link));

mysqli_free_result($result);

mysqli_query($link, "SELECT * FROM operadores ");
printf("Affected rows: %d\n", mysqli_affected_rows($link));
mysql_error($link);


Devuelve lo siguiente:
Affected rows: 4
Affected rows: 1
Affected rows: 1
Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in

Debería devolver:
Affected rows: 4
Affected rows: 1
Affected rows: 4 (Es =4 porque es la misma consulta que la primera)

Ahora si le agrego el $link = mysqli_connect…. Otra vez antes del la 3ra consulta funciona perfecto.


Bueno la idea es no conectarme todo el tiempo que llamo un stored procedure, y por otro lado no quiero usar “multi_query” ya que necesito llamar a un stored procedure que devuelve un dato y luego utilizarlo en otro!.

Si alguien sabe la respuesta o le sucedió algo parecido, agradecería mucho su ayuda.