Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

dimiguel

Problema com função - retornando linhas excessivas

Recommended Posts

Pessoal,

 

Criei uma function no meu BD que deveria me retornar um count() de determinados registros. No banco funciona aparentemente normal, porém quando executo a função pelo PHP, ele me retorna um array com diversos itens todos contendo o resultado do count()., sendo que eu desejo receber apenas uma linha com o resultado da função.

 

Essa é a function

delimiter ;
 
drop function if exists countNotas;
 
delimiter |
 
create function countNotas(bid INT)
 returns int
 begin
   declare notas int;
   select count(*) into notas from notas where notas.b_id = bid;
   return notas;
end
|
 
delimiter ;

E aqui o resultado que recebo (no PHP)

Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [countNotas(3)] => 1
                )

        )

    [1] => Array
        (
            [0] => Array
                (
                    [countNotas(3)] => 1
                )

        )

    [2] => Array
        (
            [0] => Array
                (
                    [countNotas(3)] => 1
                )

        )

)

Onde pode estar o erro? Será coisa do MySQL mesmo ou no PHP? Agradeço a ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

notas ficou a variável e a tabela , isto não é boa prática , tente

delimiter ;

drop function if exists countNotas;

delimiter |

create function countNotas(bid INT)
returns int
begin
declare vn_notas int;
select count(*) into vn_notas from notas where notas.b_id = bid;
return vn_notas;
end
|

delimiter ;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.