Foros del Web » Programando para Internet » PHP »

problemas con mysqli_fetch_array y mysqli_stmt_fetch no me devuelve nada

Estas en el tema de problemas con mysqli_fetch_array y mysqli_stmt_fetch no me devuelve nada en el foro de PHP en Foros del Web. Muy buenos dias … tengo el siguiente problema y no se me podrian ayudar Tengo este store procedure en mi BD MySQL Código: Create procedure ...
  #1 (permalink)  
Antiguo 17/12/2008, 14:57
 
Fecha de Ingreso: diciembre-2008
Mensajes: 1
Antigüedad: 15 años, 4 meses
Puntos: 0
Pregunta problemas con mysqli_fetch_array y mysqli_stmt_fetch no me devuelve nada

Muy buenos dias … tengo el siguiente problema y no se me podrian ayudar

Tengo este store procedure en mi BD MySQL

Código:
Create procedure SP_listarAutores(IN inicio INTEGER)
BEGIN

SET @i=inicio;
PREPARE s FROM "SELECT * FROM autores LIMIT ?,20";
EXECUTE s USING @i;
DEALLOCATE PREPARE s;

END;
Desde PHP lo llamo de esta manera

Código:
$host="localhost";
$usuario="root";
$password="";
$db="Biblio";
	
$link=mysqli_connect($host,$usuario,$password,$db);

$inicio=0;//Con esto el SP me deberia devolver los 20 primeros registros
$rs = mysqli_query($link,"CALL SP_listarAutores ($inicio)");
			
while ($row=mysqli_fetch_array($rs))
{
	$Datos[ ]=$row;
} 
		
mysqli_close($link);
Y al ejecutarlo me sale el siguiente error

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in…

Segun veo creo q el SP no esta retornando ningun valor ya q al reemplazar la linea del $rs por esta (ya no utilizo el SP)

Código:
$rs = mysqli_query($link, “SELECT * FROM autores LIMIT $inicio,20”);
No se genera ningun error y si me devuelve los datos correctamente

Q es lo q esta pasando?? Estare utilizando mal algun mysqli_xxx?? O es q me falta algo implementar algo??

Si ejecuto el SP desde MySQL, este se ejecuta correctamente…el problema es desde PHP
He estado tratando de hacerlo de esta otra forma tb

Código:
$stmt = mysqli_prepare($link, "CALL SP_listarAutores (?)");

$inicio = 0;

mysqli_stmt_bind_param($stmt, "i", $inicio );
//la i es dedibo a q $inicio es un entero
//Solo hay 4 tipos i=integer,d=double,s=string,b=blob… y si se trata de un parametro //especial como por ejem NULL??...NULL no tiene tipo

mysqli_stmt_execute($stmt);

while ($reg=mysqli_stmt_fetch($stmt))
{
       $Datos[ ]=$reg;
}

mysqli_stmt_close($stmt);

mysqli_close($cnn);
No me genera error pero tampoco me devuelve nada…en q estoy fallando??..Cual es, a su criterio y experiencia, la mejor forma de llamar a un SP segun lo expuesto anteriormente??

Salu2
  #2 (permalink)  
Antiguo 17/12/2008, 15:26
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: problemas con mysqli_fetch_array y mysqli_stmt_fetch no me devuelve nada

Tienes que llamar a mysqli_next_result() para moverte al siguiente resultado de tu SP.

En esta pagina puedes ver un ejemplo: http://www.php.net/manual/es/mysqli.multi-query.php

Saludos.
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 03:11.