Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/07/2016, 22:38
matake
 
Fecha de Ingreso: mayo-2013
Mensajes: 191
Antigüedad: 11 años
Puntos: 10
Respuesta: Acceder al valor de la variable salida procedimiento almacenado

Pues al final googleando mas ... lo resolvi . Lo dejo aqui por si alguien lo necesita.

Primero ya que se trata de PDO hay que pasar las variables como parametros :entrada en vez de $entrada

Código PHP:
Ver original
  1. $sql = "CALL a(:entrada, @salida);";
  2. $consulta = $conexion->prepare($sql);
  3. $consulta->bindParam(':entrada', $entrada, PDO::PARAM_STR);
  4. $consulta->execute();
  5. $consulta->closeCursor(); // dicen por ahí que es muy importante cerrar el cursor

Segundo :
Para poder acceder a la variable @salida del procedimiento almacenado hay que hacer una segunda consulta sql

Código PHP:
Ver original
  1. $sql2 = "SELECT @salida AS salida";
  2. $consulta2 = $conexion->query($sql2);
  3. $resultado2 = $consulta2->fetchAll();
  4.  
  5. echo "<pre>";
  6. echo var_dump($resultado2);
  7. echo "</pre>";

ahora si la respuesta es:
Cita:
array (size=1)
0 =>
array (size=2)
'salida' => string 'valor_salida1' (length=13)
0 => string 'valor_salida1' (length=13)
entonces se puede usar en PHP:
Código PHP:
Ver original
  1. $salida = $resultado2["salida"];

Lo que andaba buscando :)

Saludos