Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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

Compartilhar este post


Link para o post
Compartilhar em outros 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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente:

 

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

Compartilhar este post


Link para o post
Compartilhar em outros 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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.