Resultado inesperado de uma consulta SQL. [RESOLVIDO]

1. Resultado inesperado de uma consulta SQL. [RESOLVIDO]

Marcio
linuxer_deb

(usa Debian)

Enviado em 16/12/2008 - 01:13h

Aqui vai o código em questão:

...
$bairro = $_POST[bairroText];
// Verificar se já existe esse bairro cadastrado.
$query = "SELECT nome FROM bairro WHERE nome = '$bairro'";
$result = mysql_query($query, $conexao);
if($result)
echo "<script>alert('Já existe esse bairro cadastrado!');</script>";
else {
$query = "INSERT INTO bairro (nome) VALUES ('$bairro')";
$result = mysql_query($query, $conexao);
if(! $result) {
echo "<script>alert('Não foi possível executar a instrução sql');</script>";
}
else
echo "<script>alert('Dados inseridos com sucesso!');</script>";
}

======================================================

O problema é que sempre retorna a mensagem de que já existe o bairro cadastrado! Mesmo que esse bairro não esteja realmente cadastrado no MySQL!
Alguém sabe me informar porque sempre retorna a mensagem de que ja existe o bairro, mesmo não tendo sido cadastrado ainda?
Obs: MESMO quando a tabela 'bairro' está vazia, sempre ocorre a mensagem de que 'já existe esse bairro cadastrado!'


  


2. hehe

thiago
iceoz

(usa Debian)

Enviado em 16/12/2008 - 07:20h

é que vc tah verificando se result vai dah true. e sempre vai dah true pq a query tah certa independente de ter o bairro ou não.

opção que vc pode fazer.

da um SELECT count(id) as total FROM bairro WHERE nome = '$bairro'
se result for igual a true. query executada. dai vc verifica se total é maior que zero se for maior vc retorna que ja tem o bairro cadastrado se não vc inclui entendeu.

exemplo..

$bairro = $_POST[bairroText];
$query = "SELECT count(id) as total FROM bairro WHERE nome = '$bairro'";
$result = mysql_query($query, $conexao);
if($result){
$res = mysql_fetch_array($result);
if($res['total']>0){
echo "<script>alert('Esse bairro ja existe!');</script>";
}else{
//to fazendo assim mais vc faz como quiser o que importa é a ideia
$query2 = mysql("INSERT INTO bairro (nome) VALUES ('$bairro')");
if($query2) echo "<script>alert('Dados inseridos com sucesso!');</script>";
else echo "<script>alert('Não foi possível executar a instrução sql');</script>";
}
} else {
echo "<script>alert('Não foi possível executar a instrução sql');</script>";
}






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts