donato 0 Denunciar post Postado Março 29, 2005 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
Cerrito 0 Denunciar post Postado Março 29, 2005 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
donato 0 Denunciar post Postado Março 29, 2005 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
guma 0 Denunciar post Postado Março 29, 2005 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
Cerrito 0 Denunciar post Postado Março 29, 2005 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
donato 0 Denunciar post Postado Março 29, 2005 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