Ir para conteúdo

POWERED BY:

Arquivado

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

lpc

[Resolvido] consulta tabela não retorna dados

Recommended Posts

Boa noite a todos!

Estou com uma dúvida aparentemente simples, mas não estou descobrindo o que pode ser (ainda não aprendi o suficiente!). Preciso pesquisar os dados de um usuário na tabela (MySQL) e para isso faço o login (select * from usuarios where cod_user='$cod' and senha_user='$senha'" (no caso, cod_user está gravado na tabela como sendo varchar(15). Se o cliente tá cadastrado, mostro os dados pesquisados no navegador. Só que algo está acontecendo neste momento, pois posso ter três tipos de códigos para o cliente: codigos com 8 posições (ex.: 87654321), com 15 posições (987654321987654) ou então como 987654A (com uma letra). É um negócio meio doido mas se o campo na tabela tá como varchar, não é só comparar e se for igual, deixar eu pesquisar os outros dados? Por quê consigo encontrar quando é um codigo com 8 números mas quando é com 15 números ou quando tem a letra no código o retorno é que não há usuário cadastrado?

Bom, o arquivo consulta_relatorio.php contém o seguinte trecho:

	  $cod_user = $_GET['cod_user'];


	  #pesquisa cpf

	  $pCPF = mysql_query('select cpf_user from usuarios where cod_user='.$cod_user.';'

	  ,$conexao);

	  $cpf_user = mysql_result($pCPF,cpf_user);		 	


	  #  pesquisa nome

	  $pDesc = mysql_query('select nome_user from usuarios where cod_user='.$cod_user.';'

    	,$conexao);



	  echo mysql_result($pDesc,nome_user);

 

Se puderem me orientar sobre como proceder para resolver esse problema, fico devendo!

Desde já agradeço!

 

Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como cod_user não é um inteiro, você tem que delimitar os valores com aspas. Algo assim.

 

$pCPF = mysql_query('select cpf_user from usuarios where cod_user=\''.$cod_user.'\'');

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como cod_user não é um inteiro, você tem que delimitar os valores com aspas. Algo assim.

 

$pCPF = mysql_query('select cpf_user from usuarios where cod_user=\''.$cod_user.'\'');

Carlos Eduardo

 

 

Matias, obrigado! Vou testar e retorno depois o que aconteceu!

 

Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigos, parcialmente resolvido. Alterei um pouco o código, colocando conforme orientações que encontrei aqui no fórum. Mas ainda estou com um problema que meu nível de conhecimento não me permite resolver (heheheh). Bom, pesquisei e até tentei fazer conforme a resposta ao tópico, mas na pesquisa em que há uma letra no código, está dando o erro, quando faço o select (que agora coloquei aspas no início):

 

Unknown column '987654A' in 'where clause'

Abaixo está o código que estou usando, se puderem dar uma olhada. Para pesquisas onde o código é só número, tá funcionando redondo!

 

  <?php
  
  include "base.php";

  $cod_user = $_GET['cod_user'];
		  			 	
  #pesquisa nome e cpf

  $sql = "SELECT * FROM usuarios where cod_user = $cod_user";
  $resultado = mysql_query($sql)
  or die (mysql_error());

  while ($linha=mysql_fetch_array($resultado)) {
  $nome_user = $linha["nome_user"];
  $cpf_user = $linha["cpf_user"];

  echo "$nome_user";
  echo '<br>';
  echo "$cpf_user";
  }

?>

Agradeço a todos!

Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi...que tal assim...

$sql = "SELECT * FROM usuarios where cod_user = '".$cod_user."'";
Obs. '".$cod_user."'

 

Outro dia estava com um erro semelhante...e era isso aí...ok.

 

É praticamente a mesma coisa que...você colocar as barras invertidas antes das aspas...como citado mais acima..apenas com uma sintaxe diferente....mais..tente aí ok.

 

Boa sorte aí...

Abraços... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Roberto, valeu!

 

Parece que agora vai!!! Vou fazer alguns testes aqui, mas pelo que eu vi já funcionou! Certamente o tópico servirá a outros!

 

Abraços!

Paulo

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.