ohlele 0 Denunciar post Postado Fevereiro 4, 2014 Olá pessoal estou com uma dúvida e não consigo resolver. Eu uso php 5.5.0 no easy php para fazer os testes. Bom preciso pegar o total de registros de uma tabela no Firebird. Peguei várias formas mas não funciona. Primeiro testei para ver se a função existe usando: if (function_exists('ibase_affected_rows')) {echo "Existe";} else {echo "Não existe";} Beleza. Tentei usar ibase_affected_rows() e esse cara não funciona de jeito nenhum, no mysql é tranquilo mas no firebird não vai. OBS: no meu select eu estou usando First e skip, acho que não vai funcionar COUNT. E não queria fazer mais uma nova consulta para contar registro, pois o banco é muito grande e vai demorar muito, fica inviável. Como resolvo isso? Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Fevereiro 4, 2014 Amigo, ibase_affected_rows() É função para verificar a quantidade de registros afetados. Você pode tentar: $reg = ibase_fetch_assoc(ibase_query('select count(*) as REGS from TABELA')); echo $reg['REGS']; Compartilhar este post Link para o post Compartilhar em outros sites
ohlele 0 Denunciar post Postado Fevereiro 4, 2014 Esta função não me retorna nada. Como que eu coloco um Select COUNT neste meu sql? EX: $sql = "SELECT FIRST ".$a." skip ".$b." i.campo1,i.campo2 FROM tabela_i i INNER JOIN (...) WHERE (...) Eu tenho que gerar uma nova consulta só para isso? Estou fazendo paginação. Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
ohlele 0 Denunciar post Postado Fevereiro 5, 2014 Eu pesquisei e vi que para o SELECT esta função não funciona. Veja na documentação: "Esta função retorna o número de registros que foram afetados pela consulta (INSERT, UPDATE or DELETE) anterior que foi executada no contexto da transação especificada." Alguem tem uma idéia? Compartilhar este post Link para o post Compartilhar em outros sites
Fernando C 128 Denunciar post Postado Fevereiro 5, 2014 não sei se entendi bem, mas sugiro a vc pesquisar sobre funçoes de agregração em sql;exemplo: count() retorna 1 determinado número de registros; select count(id) from amigos where cidade="São Paulo"; retorna quantos registros vc tem na tabela "amigos"cuja cidade é exatamente "São Paulo"; 1 outra opção é a função max(); exemplo:tenho uma tabela com 20 registros,mas foram apagados os registros 9 a 19; select max(id), nesse caso me retorna o registro nº 20;já select count(id) me retornaria 9 registros, está entendendo a diferença? e assim vai.. tente ahe ou qqer coisa retorne.. Compartilhar este post Link para o post Compartilhar em outros sites