PHP - procedimientos almacenados mysql php

 
Vista:

procedimientos almacenados mysql php

Publicado por Davan Palma (10 intervenciones) el 01/12/2011 00:08:34
Hola.
pues tengo un inconveniente al hacer un listado de unos procedimientos desde php.

esto es el código:
-------Parámetros para la conexión-------------

<?php
$conexion = mysql_connect($serverx, $usuariox, $passwdx);
mysql_select_db($bdx, $conexion);
?>


-------- ejecuto el procedimiento -----------

<?php
$queEmp = "CALL sp_cabeseraguia('$numguia')";
//$query = mysql_query($queEmp, $conexion) or die(mysql_error());
$query = mysql_query($queEmp) or die(mysql_error());
$consulta = mysql_num_rows($query);
?>[/PHP]

--------------- imprimir el listado ------------

<?php do{?>

<?php echo $consulta['Persomal'] ?>
<?php echo $consulta['Cliente'] ?>
<?php echo $consulta['Ruc'] ?>

<?php }while($consulta = mysql_fetch_assoc($query)); ?>

===================================
hasta ahí todo ok.
el problema es cuando quiero listar el segundo sp.
----------ejecuto el procedimiento--------------
<?php
$detale = "CALL sp_detallegui('$numguia')";
$querydet = mysql_query($detale) or die(mysql_error());
$consultadet = mysql_num_rows($querydet);
?>

--------------- imprimir el listado ------------
<?php do{?>

<?php echo $consultadet['descripcion'] ?>
<?php echo $consultadet['cantidad'] ?>
<?php echo $consultadet['peso'] ?>
<?php echo $consultadet['unidadmedida'] ?>

<?php }while($consultadet = mysql_fetch_assoc($querydet));?>


el el navegador me sale este resultado.


Nombre persobal Nombre cliente ruc Commands out of sync; you can't run this command now
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

procedimientos almacenados mysql php

Publicado por ElSiniestro (2 intervenciones) el 01/12/2011 18:56:42
Hola

Recomiendo que uses funciones mysqli en vez de mysql, ya que permite consultas asíncronas.

Además de incluir la variable de la base de datos en mysqli_connect

Además, necesitas usar la función mysqli_free_result($consulta) después de realizada la consulta y no necesitar más los datos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

procedimientos almacenados mysql php

Publicado por Jesús Joel Culqui Vidarte (1 intervención) el 12/12/2011 22:19:47
Tu error es solo en esto:
$querydet = mysql_query($detale,) or die(mysql_error());

cambialo por esto
$querydet = mysql_query($detale,$conexion) or die(mysql_error());
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

procedimientos almacenados mysql php

Publicado por Davan Palma (10 intervenciones) el 13/12/2011 00:09:54
Gracias por sus respuestas.

como era urgente que resuelva ese dilema he preguntado en otros foros y ya encontrado la solución.
hasta otra oportunidad gracias.

http://foros.cristalab.com/procedimientos-almacenados-mysql-php-t102437/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar