Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Não consigo fazer funcionar essa query dentro do php da erro de sintase, não consigo achar o erro teste no query browser, navicat e funcionou certinho
Select clientes.id_cliente, clientes.nome, clientes.email, pagamentos.id_pagamento, pagamentos.descricao, pagamentos.valor, pagamentos.vencimento, pagamentos.aviso1, pagamentos.aviso2, pagamentos.aviso3
FROM (pagamentos
INNER JOIN
clientes ON clientes.id_cliente = pagamentos.fk_cliente )
WHERE
(pagamentos.pago = '0')
AND
(pagamentos.vencimento = '2007-12-07' OR pagamentos.vencimento = '2007-12-05' OR pagamentos.vencimento = '2007-12-12' OR pagamentos.vencimento = '2007-12-17')
É se tiver dando algum erro no MySQL postae
sugiro também a alteração
Select clientes.id_cliente, clientes.nome, clientes.email, pagamentos.id_pagamento, pagamentos.descricao, pagamentos.valor, pagamentos.vencimento, pagamentos.aviso1, pagamentos.aviso2, pagamentos.aviso3
FROM (pagamentos
INNER JOIN
clientes ON clientes.id_cliente = pagamentos.fk_cliente )
WHERE
(pagamentos.pago = '0')
AND
(pagamentos.vencimento) [b]IN ( '2007-12-07', '2007-12-05', '2007-12-12', '2007-12-17')[/b];
Abos os codigos da o mesmo no PHP
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line
no mysql funciona certinho so no php que da erro
Select clientes.id_cliente, clientes.nome, clientes.email, pagamentos.id_pagamento, pagamentos.descricao, pagamentos.valor, pagamentos.vencimento, pagamentos.aviso1, pagamentos.aviso2, pagamentos.aviso3 FROM (pagamentos INNER JOIN clientes ON clientes.id_cliente = pagamentos.fk_cliente ) WHERE pagamentos.pago = '0' AND pagamentos.vencimento IN ('2007-12-07', '2007-12-05', '2007-12-12', '2007-12-17')
Query limpa (sem os parenteses)
se ainda estiver com o mesmo erro por favor poste as linhas da query como você a escreveu no php.
Select clientes.id_cliente,
clientes.nome,
clientes.email,
pagamentos.id_pagamento,
pagamentos.descricao,
pagamentos.valor,
pagamentos.vencimento,
pagamentos.aviso1,
pagamentos.aviso2,
pagamentos.aviso3 FROM pagamentos INNER JOIN clientes ON clientes.id_cliente = pagamentos.fk_cliente WHERE pagamentos.pago = '0' AND pagamentos.vencimento IN( '2007-12-07', '2007-12-05', '2007-12-12', '2007-12-17')
Eita erro chato não consigo de arrumar
o treço em php
$query_vencimentos = "Select clientes.id_cliente,
clientes.nome,
clientes.email,
pagamentos.id_pagamento,
pagamentos.descricao,
pagamentos.valor,
pagamentos.vencimento,
pagamentos.aviso1,
pagamentos.aviso2,
pagamentos.aviso3 FROM pagamentos INNER JOIN clientes ON clientes.id_cliente = pagamentos.fk_cliente WHERE pagamentos.pago = '0' AND pagamentos.vencimento IN ('".date("Y-m-d")."', '".$connect->count_day(-2)."', '".$connect->count_day(5)."', '".$connect->count_day(10)."')";
$vencimentos = $connect->enviar("$query_vencimentos");
$rows_vencimentos = $connect->fetch("$query_vencimentos");
isso me retorna a query
Select clientes.id_cliente, clientes.nome, clientes.email, pagamentos.id_pagamento, pagamentos.descricao, pagamentos.valor, pagamentos.vencimento, pagamentos.aviso1, pagamentos.aviso2, pagamentos.aviso3 FROM pagamentos INNER JOIN clientes ON clientes.id_cliente = pagamentos.fk_cliente WHERE pagamentos.pago = '0' AND pagamentos.vencimento IN ('2007-12-07', '2007-12-05', '2007-12-12', '2007-12-17')
se eu deixo só um paramento dentro da causula IN funciona IN ('2007-12-07') mas preciso verificar em várias datas..... diferentes....
Já tentou usar FIND_IN_SET()? :)
Cara nem conhecia esse comando mas mesmo assim nada ta muito estranho....
Select clientes.id_cliente, clientes.nome, clientes.email, pagamentos.id_pagamento, pagamentos.descricao, pagamentos.valor, pagamentos.vencimento, pagamentos.aviso1, pagamentos.aviso2, pagamentos.aviso3 FROM (pagamentos INNER JOIN clientes ON clientes.id_cliente = pagamentos.fk_cliente ) WHERE pagamentos.pago = '0' AND FIND_IN_SET(pagamentos.vencimento,'2007-12-07,2007-12-05,2007-12-12,2007-12-17')
O DATEDIFF tbm não funciou como sempre so funciona no mysql
O erro de sintaxe é no SQL ou no PHP? Qual a mensagem de erro?
Se possível, poste um trecho do código PHP ai, por favor.
[]'s