miércoles, 27 de abril de 2011

Error 1312 (0A000): PROCEDURE can't return a result set in the given context.

Cuando se conecte a mysql y pretenda utilizar un procedimiento almacenado, debe pasar un especial Flag para MySQL a través del comando connect, de lo contrario no obtendrá los resultados devueltos, y dará lugar a este error:
Error 1312 (0A000): PROCEDURE x can't return a result set in the given context.

Para corregir esto, cambie su cadena de conexion, adicionando ",false,131072", o ",false,65536" en los últimos 2 campos en:

$this->con = mysql_connect(host,user,password,false,65536);

según la documentación de mysql, se debe activar CLIENT_MULTI_RESULTS, sin embargo, al activar CLIENT_MULTI_STATEMENTS automáticamente se activa el primero.

ver en php.net o php.net y en dev.mysql.com

7 comentarios:

  1. Gracias! No había encontrado una solución tan simple.

    Saludos y gracias nuevamente!

    ResponderEliminar
  2. Muchisimas gracias, habia dado muchas vueltas y la solución es mas simple.

    ResponderEliminar
  3. Gracias amigo una solucion sencilla para un problema al que anduve dando muchas vueltas
    te debo una
    Att Luis VaMa

    ResponderEliminar
  4. GRACIAS!!!!! ese error me habìa causado dolor de cabeza 2 dìas!! :S

    ResponderEliminar
  5. Gracias. Gente como tú es la que hace grande internet.

    ResponderEliminar
  6. gracias viejo me has salvado

    ResponderEliminar
  7. Gracias solucion sencilla porque en todos los foros refieren a hacer cambios en los objetos de conexion

    ResponderEliminar