PHP + MySql + Procedimientos almacenados, ¿cómo obtengo acceso a un valor de “salida”?

StackOverflow https://stackoverflow.com/questions/48126

Pregunta

Falta mucha documentación sobre todo lo que tenga que ver con los procedimientos almacenados en MySQL con PHP.Actualmente tengo un procedimiento almacenado al que llamo vía PHP, ¿cómo puedo obtener el valor de un parámetro de salida?

¿Fue útil?

Solución

parece que está respondido en esta publicación:

http://forums.mysql.com/read.php?52,198596,198717#msg-198717

Con la API PHP de mysqli:

Supongamos sproc myproc( IN i int, OUT j int ):

$mysqli = new mysqli(  "HOST", "USR", "PWD", "DBNAME" );
$ivalue=1;
$res = $mysqli->multi_query( "CALL myproc($ivalue,@x);SELECT @x" );
if( $res ) {
  $results = 0;
  do {
    if ($result = $mysqli->store_result()) {
      printf( "<b>Result #%u</b>:<br/>", ++$results );
      while( $row = $result->fetch_row() ) {
        foreach( $row as $cell ) echo $cell, "&nbsp;";
      }
      $result->close();
      if( $mysqli->more_results() ) echo "<br/>";
    }
  } while( $mysqli->next_result() );
}
$mysqli->close();

Otros consejos

Aquí hay un ejemplo de cómo hacer esto con mysql, mysqli y pdo:

http://www.joeyrivera.com/2009/using-mysql-stored-procedures-with-php-mysqlmysqlipdo/

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top