Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Llamadas a procedimiento almacenado

Estas en el tema de Llamadas a procedimiento almacenado en el foro de Mysql en Foros del Web. Hola, tengo un script PHP que llama a procedimientos almacenados de MySQL. En local, con la BD local funciona bien, pero al pasarlo al servidor ...
  #1 (permalink)  
Antiguo 16/03/2010, 08:28
Avatar de PosProdukcion  
Fecha de Ingreso: noviembre-2004
Ubicación: Manzanares el Real (Madrid)
Mensajes: 726
Antigüedad: 16 años, 9 meses
Puntos: 9
Llamadas a procedimiento almacenado

Hola, tengo un script PHP que llama a procedimientos almacenados de MySQL.

En local, con la BD local funciona bien, pero al pasarlo al servidor no funcionan las llamadas a procedimiento almacenado desde el PHP

Código PHP:
Ver original
  1. mysql_query("call $procedimiento", $cnx);

Además, si en PHP cambio el Call $procedimiento por un Select, sí obtengo datos, por tanto no es un problema de conexión.

No parece tema de permisos porque si conecto al servidor a través del MySQL Workbench con el mismo usuario obtengo datos con la misma sentencia.

En local tengo MySQl 5.1.41-community, en el servidor 5.0.45, ¿puede tener algo que ver? Pero ¿por qué en el Mysql Workbench sí puedo hacer el call?

¿Sabéis cual puede ser el problema?

Gracias
  #2 (permalink)  
Antiguo 24/03/2010, 05:55
Avatar de PosProdukcion  
Fecha de Ingreso: noviembre-2004
Ubicación: Manzanares el Real (Madrid)
Mensajes: 726
Antigüedad: 16 años, 9 meses
Puntos: 9
Respuesta: Llamadas a procedimiento almacenado

El problema era por la versión, no se si de PHP o de MySQL, al utilizar mysql_connect en la versión más antigua es necesario indicar un flag de conexión $client_flag=131072 para activar CLIENT_MULTI_RESULTS, necesario para procedimientos almacenados:

Código PHP:
Ver original
  1. mysql_connect($servidor,$usuario,$pwd,false,131072)

Saludos

Etiquetas: call, procedimiento, almacenar
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 12:18.