Select Count() só retorna o valor '0'

Bom dia a todos!
Estou usando este comando abaixo no evento OnBeforeInsert para retornar o número de vezes que os registros aparecem em uma determinada tabela, porém mesmo tendo vários registros atendendo a clausula where ele me retorna 0. Vocês podem me ajudar?

$sql = ‘select count(*) from informe_pj where ano_calendario = ‘.{ano_calendario}.’ and fonte_pag_cnpj =’.{fonte_pag_cnpj}.’ and beneficiaria_cnpj =’.{beneficiaria_cnpj} ;
sc_lookup(ds, $sql);
$qtd={ds[0][0]};
echo $qtd;

Bom dia!

Provavelmente sua query está errada.

Dê um echo na variável $sql, veja o que te retorna e tenta executa-la diretamente no seu banco.

Debug

O que está retornando no Debug está correto, o problema é que ele não conta
(pdo-mysql): select count(*) from informe_pj where ano_calendario = 2016-01-01 and fonte_pag_cnpj =22711364000112 and beneficiaria_cnpj =09585812000110
dei um echo na variável e nos campos:
02016-01-012271136400011209585812000110
onde é a variável $qtd, 2016-01-01 é o campo {ano_calendaria}, 22711364000112 é o campo {fonte_pag_cnpj} e 09585812000110 é o campo {beneficiaria_cnpj}

onde estão os encapsulamentos dos campos ?

select count(*) from informe_pj where ano_calendario = ‘2016-01-01’ and fonte_pag_cnpj =‘22711364000112’ and beneficiaria_cnpj =‘09585812000110’

Está faltando aspas ai no seu select.

Tente assim:

$sql = "select count(*) from informe_pj where ano_calendario = '".{ano_calendario}."' and fonte_pag_cnpj ='".{fonte_pag_cnpj}."' and beneficiaria_cnpj ='".{beneficiaria_cnpj}."'";
sc_lookup(ds, $sql);
$qtd={ds[0][0]};
echo $qtd;

Funcionou com sua dica Thyago Brasil. Muito obrigado!!!