Como Não Deixar Repetir Dados No Mysql?
#1
Posted 24/02/2004, 03:22
1º - Quando tento colocar 2 logins idênticos o MySQL aceita....o q faço para ele banir?
2º - Como eu poderia fazer(procedimentos ou dicas) para fazer com q o script veja se o CEP digitado pela pessoa existe??
Ahhhhh! Obrigado pessoal por me escutarem,! Me ajudem, please!!
#2
Posted 24/02/2004, 03:31
<?
// conexão
$query = "SELECT * FROM tabela WHERE campo = '$campo'";
$result = mysql_query($query, $connection);
if (mysql_num_rows($result) == "")
{
// envia os dados pro BD
}
else
{
// mensagem que já existe um user com esse nome
}
?>
Entendeu?
#3
Posted 24/02/2004, 04:01
Eu devo colocar este código junto com o script que vai inserir os dados ou em outro q depois vão serer repassados? Veja abaixo como eu fiz no código inserir.php....
<?php
$sql = "INSERT INTO userdb (username, password, nome, email, endereco, numero,
cidade, estado, cep, telefone) VALUES ('$username', '$password', '$nome', '$email', '$endereco', '$numero','$cidade', '$estado', '$cep', '$telefone')";
//Mysql
$conexao = mysql_connect("localhost", "root", "")
or die ("Configuração de Banco de Dados Errada!");
$query = "SELECT * FROM userdb WHERE campo = '$ID'";
$query = "SELECT * FROM userdb WHERE campo = '$username'";
$query = "SELECT * FROM userdb WHERE campo = '$nome'";
$query = "SELECT * FROM userdb WHERE campo = '$email'";
//Inserindo os dados
if (mysql_num_rows($result) == "")
{
// envia os dados pro BD
}
else
{
// mensagem que já existe um user com esse nome
}
//Substitua os valores acima caso não esteje de acordo com sua máquina
//Selecionando o banco de dados...
$db = mysql_select_db("teste")
or die ("Banco de Dados Inexistente!");
$sql = mysql_query($sql)
or die ("Houve erro na gravação dos dados, por favor, clique em voltar e verifique os campos obrigatórios!");
echo "<h1>Cadastro efetuado com sucesso!</h1>";
?>
Tá errado? Ajudem um pobre aprendiz, pliz!
Edição feita por: kenshinhimura, 24/02/2004, 04:02.
#4
Posted 24/02/2004, 08:16
$query = "SELECT * FROM userdb WHERE campo = '$ID'"; $query = "SELECT * FROM userdb WHERE campo = '$username'"; $query = "SELECT * FROM userdb WHERE campo = '$nome'"; $query = "SELECT * FROM userdb WHERE campo = '$email'";por
$query = "SELECT * FROM userdb WHERE username = '$username AND nome = '$nome' AND email = '$email'";acredito q assim funcionara
#5
Posted 24/02/2004, 08:29
$query = "SELECT * FROM userdb WHERE username = '$username' AND nome = '$nome' AND email = '$email'";
tava faltando um ' ali depois de $username.. só deu uma corrigida pra depois não dar erro.. fui..
_sABAOTE - _mATEUS
WebDeveloper Php
HostPower - O Poder da Tecnologia em Suas Mãos!
Inglês, Php, MySQL, CGi, Html, Fireworks, Corel, Photoshop
___Conhecimentos___
E-mail :: mateus@hostpower.com.br
Icq :: 171106451
Site :: buscalivre.com.br
#6
Posted 24/02/2004, 08:31
Você pode usar em conjunto, com os Scripts mostrados acima... Definir o campo "login" como chave-primária, o que não permitiria, dois registros iguais!
#7
Posted 24/02/2004, 16:18
<?php
//Vamos definir as variáveis de data e hora
//para inserção no banco de dados
//Agora com as variáveis de data e hora criadas
//vamos criar uma variável especial para a querie sql
$sql = "INSERT INTO userdb (username, password, nome, email, endereco, numero,
cidade, estado, cep, telefone) VALUES ('$username', '$password', '$nome', '$email', '$endereco', '$numero',
'$cidade', '$estado', '$cep', '$telefone')";
//Agora é hora de contatar o mysql
$conexao = mysql_connect("localhost", "root", "")
or die ("Configuração de Banco de Dados Errada!");
$query = "SELECT * FROM userdb WHERE username = '$username' AND nome = '$nome' AND email = '$email'";
//Inserindo os dados
if (mysql_num_rows($result) == "")
{
// envia os dados pro BD
}
else
{
// mensagem que já existe um user com esse nome
}
//Substitua os valores acima caso não esteje de acordo com sua máquina
//Selecionando o banco de dados...
$db = mysql_select_db("teste")
or die ("Banco de Dados Inexistente!");
$sql = mysql_query($sql)
or die ("Houve erro na gravação dos dados, por favor, clique em voltar e verifique os campos obrigatórios!");
echo "<h1>Cadastro efetuado com sucesso!</h1>";
?>
Deu erro na linha 22!!!
ajudem!!
Edição feita por: kenshinhimura, 24/02/2004, 19:42.
#8 thiagorsl
Posted 24/02/2004, 21:47
#9
Posted 24/02/2004, 21:55
creio eu que assim vá funfar<?php
//Vamos definir as variáveis de data e hora
//para inserção no banco de dados
//Agora com as variáveis de data e hora criadas
//vamos criar uma variável especial para a querie sql
$sql = "INSERT INTO userdb (username, password, nome, email, endereco, numero,
cidade, estado, cep, telefone) VALUES ('$username', '$password', '$nome', '$email', '$endereco', '$numero',
'$cidade', '$estado', '$cep', '$telefone')";
//Agora é hora de contatar o mysql
$conexao = mysql_connect("localhost", "root", "")
or die ("Configuração de Banco de Dados Errada!");
$seleciona = mysql_select_db("db",$conexao);
$query = mysql_query("SELECT * FROM userdb WHERE username = '$username' AND nome = '$nome' AND email = '$email'");
//Inserindo os dados
if (mysql_num_rows($query) == "0")
{
$executa = mysql_query($sql);
if(!$executa) print "Erro ao tentar cadastrar!"; else print "Cadastro feito com sucesso";
}
else
{
print "JA existe alguem com este login";
}
?>
Edição feita por: luiz000, 24/02/2004, 22:01.
#10 Kurt Cobain
Posted 24/02/2004, 21:58
vc ta esquecendo de selecionar do db, dps de conectar!
mysql_select_db("db",$conexao);
#11
Posted 24/02/2004, 22:04
ja consertei la no post.
#12 Kurt Cobain
Posted 24/02/2004, 22:52
"CREATE TABLE tabela (id int(10) auto_increment, login varchar(30) UNIQUE NOT NULL, PRIMARY KEY(id))";
Faça como eu fiz no campo login..... ele poderá só ter valor único....
Axo q isso resolve seu problema, vê se é isso msm
#13
Posted 25/02/2004, 05:01
Aquilo que vocês me ensinaram funcionou!! Mas só pela mentade....:'(
O problema é que quando a gente manda inserir as coisas no formulário aparece dizendo o erro só que mesmo assim o mysql aceita os dados!! Que queu faço??HelP!
Nem o onique num adiantou....
Thankz!!
Cya!
gaara
Edição feita por: kenshinhimura, 25/02/2004, 05:10.
#14 thiagorsl
Posted 25/02/2004, 12:00
#15
Posted 25/02/2004, 17:06
no codigo acima?$query="SELECT * FROM userdb WHERE username = '$username'
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)