Foros del Web » Programando para Internet » PHP »

Error al llamar a un store procedure

Estas en el tema de Error al llamar a un store procedure en el foro de PHP en Foros del Web. Tengo el siguiente procedimiento almacenado: create procedure test() select * from tablatest; Desde mi script php quiero llamarlo con mysql_query('call test()'); El asunto es que ...
  #1 (permalink)  
Antiguo 14/12/2008, 23:13
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 14 años, 8 meses
Puntos: 9
Error al llamar a un store procedure

Tengo el siguiente procedimiento almacenado:

create procedure test() select * from tablatest;

Desde mi script php quiero llamarlo con mysql_query('call test()');
El asunto es que me devuelve un error cuando hago esta llamada, y me dice:

PROCEDURE test can't return a result set in the given context

Buscando por internet me encontré con que muchos usuarios de mysql se han enfrentado con este inconveniente, y no solo usuarios de php, sino de delphi hasta perl también. La única solución que pude encontrar fue actualizar la versión de mysql a la 5.1.12 (actualmente estoy trabajando con la 5.0.45). Mi problema es que el servidor donde realizo las pruebas tiene la versión 5.0.51a, y dudo que a raíz de mi problema quieran cambiarla . ¿Alguien se ha topado con este inconveniente? ¿Como pudiste solucionarlo?.
Saludos a todos.
__________________
Add, never Remove
  #2 (permalink)  
Antiguo 14/12/2008, 23:50
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Respuesta: Error al llamar a un store procedure

No es tanto del server de MySQL, si no de la libreria de MySQL, lamentablemente la extension por default mysql de PHP no tiene soporte para stored procedures, si queires usarlas debes de usar la extension MySQLi.

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:57.