Ir para conteúdo

POWERED BY:

Arquivado

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

donato

Erro ao inserir dados

Recommended Posts

Bom dia galera!Sou novato em PHP e MySQl, então é assim mesmoPreciso inserir dados em um banco, estou usando o seguinte código:<?php $res1 = mysql_connect("localhost", "host", "senha"); if ($res1){ $sql = "insert into cliente " ." (id, nome, email)" ." values ('NULL','$nome','$email')"; $res2 = mysql_db_query("cadastro", "$sql", $res1); if ($res2) { echo("Novo cadastro adicionado");} else { echo("Erro na inclusão ".mysql_error()." "); } } else { echo("Erro na tentativa de conexão ".mysql_error()." "); } mysql_close($res1); ?> No formulário de inserção são ómente dois camposnome e email.Mais está dando o seguinte erro:Notice: Undefined variable: nome in c:\Web\site novo gimenes\respcadastro.php on line 40Notice: Undefined variable: email in c:\Web\site novo gimenes\respcadastro.php on line 40Erro na inclusão Duplicate entry '0' for key 1 Oq é isso?Como posso resolver!??Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites
PHP
<?php// em primeiro lugar as váriaveis vindo de forme sempre use assim... ou direto $_POST['nomeVariavel']$id = $_POST['id'];$nome = $_POST['nome'];$email = $_POST['email'];$res1 = mysql_connect("localhost", "host", "senha");if ($res1){ $sql = "insert into cliente (id, nome, email) values (NULL,'$nome','$email')";$res2 = mysql_db_query($res1, $sql); // variaveis não precisam ficar entre " "if ($res2){ echo("Novo cadastro adicionado");} else { echo("Erro na inclusão ".mysql_error()." "); } } else { echo("Erro na tentativa de conexão ".mysql_error()." "); } mysql_close($res1);?>
esse seu erro está acontecendo porque você está com um campo já com valor zero e estava tentando gravar novamente o mesmo valor nele...note que tirei as aspas do null, para que ele ignore...se ainda der problema com certeza será no seu id, acredito que ele deva ser de auto incrementoda uma olhada nele...abraçosMarcio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara ainda ta dando esse erromeu id está configurado assim:Tipo: int; tamanho 11; atributos: unsigned; nulo: not nulo; Padrão 0; Extra: Vazio; Notice: Undefined index: id in c:\Web\site novo gimenes\respcadastro.php on line 37Erro na inclusão Unknown database 'resource id #3' Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara nao entendi muito bem mais eu faço assim ' ' no lugar do NULL

PHP
$sql = "insert into cliente (id, nome, email) values (' ','$nome','$email')";$res2 = mysql_db_query($res1, $sql);
Assim ele vai inserir automaticamente seu dados.Usa espaço em branco dai seu banco insere automaticamente para vocêFlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

exato, como ele não é um campo de auto incremento e ele sempre tenta gravar como zero, vamos quando você tem um campo que é chave primaria ele não pode se repetir...

e zero você já tem...

é o valor padrão dele...

mude ele para um campo de auto incremento...

se baseie nesse exemplo que você vai conseguir resolver seu proiblema...

http://dev.mysql.com/doc/mysql/pt/example-...-increment.html

 

abraços

 

Marcio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara desculpe mais continua com erro!Notice: Undefined index: id in c:\Web\site novo gimenes\respcadastro.php on line 37Erro na inclusão Unknown database 'resource id #3' Deve ser algum problema com o banco, sei láA linha 37 é essa:$id = $_POST['id'];

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.