Ir para conteúdo

POWERED BY:

Arquivado

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

Marcos Barbosa

[Resolvido] Erro usando o SELECT em PDO

Recommended Posts

Pessoal, estou usando a função para selecionar registros que obedeçam a uma determinada condição.

Usando o SELECT sem nenhuma outra condição, funcionar, os registros são apresentados na tela, mas quando eu coloco o WHERE dá erro.

<?php
					$id  = $_GET['id'];
					$sql = 'SELECT id, paciente FROM pacientes WHERE id = :id';

					try{
						$query = $conecta->prepare($sql);

						$query->bindValue(':id',$id,PDO::PARAM_STR);
						$query->bindValue(':paciente',$paciente,PDO::PARAM_STR);
						$query->execute();

						$resultado = $query->fetchAll(PDO::FETCH_ASSOC);

					}catch (PDOexception $error_select){
						echo 'Erro ao selecionar dados... ' .$error_select->getMessage();
					}

					foreach ($resultado as $res){

						$id  = $res['id'];
						$paciente  = $res['paciente'];
						echo $id."--".$paciente."<br>";

						$i++;
						if($i % 2 == 0){
							$cor = 'style="background:#ADD8E6;"'; // #E6FFF2
						}else{
							$cor = 'style="background:#f4f4f4;"'; // #f4f4f4
						}

					}
				?>		

 

O erro é o seguinte:

Erro ao selecionar dados... SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens

Warning: Invalid argument supplied for foreach() in C:\wamp\www\rislaudo\cadastro_laudos1.php on line 33

 

A linha 33 é essa: foreach ($resultado as $res){

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marcos,

 

Não encontrei nenhum erro em seu script aparentemente. No meu caso quando acontecem erros como esse, geralmente é nome da tabela ou nome dos campos do BD digitados errados ou inexistentes. De uma conferida pra ver se ta certinho e correspode o SELECT com a tabela e seus campos. :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tenta bindar 2 parametros, mas so tem 1 token na query..

 

ou você so binda 1, ou você aumenta o token.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Willian, certinho a dica, eu estava dando o bindValue para mais de uma variável, só precisa em uma. Agora está funcionando, muito obrigado.

ALP, muito obrigado pela sua dica, mas as variáveis estão correstas. Vlw

 

você tenta bindar 2 parametros, mas so tem 1 token na query..

 

ou você so binda 1, ou você aumenta o token.

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.