Parse error: syntax error, unexpected '>' in C:\Program -

(noelreis) #1

Criei um relatório GRID abrindo o FILTRO inicialmente. O relatório mostra os campos do select abaixo.
Inseri aproximadamente 110 linhas de dados no banco com ANO 2019 Dias 1 a 31 com os seguintes meses. Janeiro, Junho e Outubro.

Os valores dos meses de janeiro e julho são (eram) iguais (exceto datas). O mês de outubro os valores nos campos são diferentes, quando faço uma busca “loja 3” entre 01/10/2019 and 15/10/2019 o resultado é mostrado sem nenhum problema, porém quando busco “loja 1” janeiro ou junho mostra o seguinte erro:

Parse error: syntax error, unexpected ‘>’ in C:\Program Files\NetMake\v9\wwwroot\scriptcase\app\meustestes\5_loja_5_relatorio\5_loja_5_relatorio_resumo_sc_free_group_by.class.php(4881) : eval()'d code on line 7

(OS CAMPOS LOJA ESTÃO CERTOS lojaid=1 lojaid=2 lojaid=n)

O filtro efetua a busca por dois campos de inserção obrigatória: 
lojaid  IGUAL A = 1... 2... n...
datalancamanual ENTRE DOIS VALORES xxxx*xx*xx and xxyy*yy*yy

MODO DEBUG

(pdo-mysql): SELECT datalancamanual, operav, operdeb, opercred, operalim, despesas, opercompras, pagamentosexternos, observacoes from lancamentosw3 where (lojaid = ‘1’ and datalancamanual between ‘2019-01-01’ and ‘2019-01-31’ ) order by WEEK(datalancamanual) asc, MONTH(datalancamanual) asc

(pdo-mysql): SELECT (operdeb*(100-taxadeb)/100) FROM lancamentosw3sauipe WHERE operdeb = 414.27

(pdo-mysql): SELECT (opercred*(100-taxacred)/100) FROM lancamentosw3sauipe WHERE opercred = 157.14

(pdo-mysql): SELECT (operalim*(100-taxaalim)/100) FROM lancamentosw3sauipe WHERE operalim = 194.33

(pdo-mysql): select WEEK(‘2019-01-01’)

Parse error: syntax error, unexpected ‘>’ in C:\Program Files\NetMake\v9\wwwroot\scriptcase\app\meustestes\5_loja_5_relatorio\5_loja_5_relatorio_resumo_sc_free_group_by.class.php(4881) : eval()'d code on line 7

Depois de pesquisar sem encontrar uma solução resolvi trocar os valores inseridos no Banco de dados e para minha surpresa rodou até a próxima linha.

Modo Debug após trocar os valores dos campos “operdeb, opercred, operalim”

(pdo-mysql): SELECT datalancamanual, operav, operdeb, opercred, operalim, despesas, opercompras, pagamentosexternos, observacoes from lancamentosw3 where (lojaid = ‘1’ and datalancamanual between ‘2019-01-01’ and ‘2019-01-31’ ) order by WEEK(datalancamanual) asc, MONTH(datalancamanual) asc

(pdo-mysql): SELECT (operdeb*(100-taxadeb)/100) FROM lancamentosw3sauipe WHERE operdeb = 130.11 //ERA 414.27

(pdo-mysql): SELECT (opercred*(100-taxacred)/100) FROM lancamentosw3sauipe WHERE opercred = 711.20 //ERA 157.14

(pdo-mysql): SELECT (operalim*(100-taxaalim)/100) FROM lancamentosw3sauipe WHERE operalim = 101.17 //ERA 194.33

(pdo-mysql): select WEEK(‘2019-01-01’) PASSOU PARA A PROXIMA ENCONTROU VALORES IGUAIS NO BD repetiu o erro

(pdo-mysql): SELECT (operdeb*(100-taxadeb)/100) FROM lancamentosw3sauipe WHERE operdeb = 442.09

(pdo-mysql): SELECT (opercred*(100-taxacred)/100) FROM lancamentosw3sauipe WHERE opercred = 361.57

(pdo-mysql): SELECT (operalim*(100-taxaalim)/100) FROM lancamentosw3sauipe WHERE operalim = 495.58

Parse error: syntax error, unexpected ‘>’ in C:\Program Files\NetMake\v9\wwwroot\scriptcase\app\meustestes\5_loja_5_relatorio\5_loja_5_relatorio_resumo_sc_free_group_by.class.php(4881) : eval()'d code on line 7

A imagem mostra o DEBUG de uma busca feita entre 01/01/2019 até 0210/2019 para “lojaid=3”

Desde já agradeço sua ajuda.

(Ralph Rangel) #2

creio que o comando between inteiro deve ficar entre parênteses

( datatal between data1 and data2 )

(noelreis) #3

Mas só apresenta erro quando mudo o número da loja… Se a busca for loja 3 tudo certo.
Exemplo:
“loja 3” - “01/01/2019 a 31/01/2019” OK
“loja 100” - “01/01/2019 a 31/01/2019” - ERRO