Jump to content
Sign in to follow this  
LelopesNti

Consulta PDO

Recommended Posts

Galera,

Me ajudem

 

Estou com a seguinte situação

 

Código php

$buscanoticia = $pdo->prepare("SELECT n.Id as IdNot, n.Titulo, n.Imagem, n.LegendaImagem, c.Id, c.Nome, n.Subtitulo, c.CSSClass 
FROM noticias as n
INNER JOIN caderno c ON c.id = n.IdCaderno
WHERE n.IdArea = 4 AND n.Id NOT IN (:listanoticiashome) 
ORDER BY n.Id DESC
LIMIT 4");
$buscanoticia->bindValue(":listanoticiashome",$listanoticias);
$buscanoticia->execute()

sendo que a variável $listanoticias tem os seguintes dados: 16551, 16550, 16468, 16430, 16429, 16280, 16547, 16546, 16545, 16544, 16549, 16548, 16542, 16549, 16548, 16542, 16549, 16548, 16542, 16541, 0

na hora de fazer a consulta está ignorando a condição com os valores da variável acima.
Se eu pegar o código sql e for diretamente no sql, substituindo a variável pelo seu valor a sentença funciona como se deve. Executando o código por php o retorno da consulta é outro
Edited by Gabriel Heming
adicionar bbcode

Share this post


Link to post
Share on other sites

$listanoticias = 16551, 16550, 16468, 16430, 16429, 16280, 16547, 16546, 16545, 16544, 16549, 16548, 16542, 16549, 16548, 16542, 16549, 16548, 16542, 16541, 0 e ja tentei também:

 

 

$listanoticias = (16551, 16550, 16468, 16430, 16429, 16280, 16547, 16546, 16545, 16544, 16549, 16548, 16542, 16549, 16548, 16542, 16549, 16548, 16542, 16541, 0), tirando o () da query

Share this post


Link to post
Share on other sites

Tente:

 

$listanoticias = "16551, 16550, 16468, 16430, 16429, 16280, 16547, 16546, 16545, 16544, 16549, 16548, 16542, 16549, 16548, 16542, 16549, 16548, 16542, 16541, 0";

Share this post


Link to post
Share on other sites

Guilherme, erro algum não aparece, retorna registros normais

consegui resolver passando a variavel diretamente na consulta, sem precisar passar por pdo.

Não sei ao certo porque ocorreu mas vi essa referencia no manual do php

 

Se quiser continuar, será um prazer em discutir.

 

A questão da estrutura da tabela não vem em questão pois está correto, a questão é a query em si e a interpretação do pdo.

 

Att.

 

Leandro.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.