Ir para conteúdo

POWERED BY:

Arquivado

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

Leozin

[Resolvido] id nao funciona no cadastro

Recommended Posts

Boa tarde pessoal!

O problema esta qnd eu vou cadastrar o formulario

o campo id é auto increment porem nao esta funcionando

o erro é esse

Incorrect integer value: '' for column 'id_cadastro' at row 1

 

cadastro.php

$nome = $_POST['nome'];
$empresa = $_POST['empresa'];
$email = $_POST['email'];
$telefone = $_POST['telefone'];
$estado = $_POST['estado'];
$cidade = $_POST['cidade'];
$endereco = $_POST['endereco'];
$numero = $_POST['numero'];
$cep = $_POST['cep'];

$insere = mysql_query("INSERT INTO cadastro VALUES ('', '$nome', '$empresa', '$email', '$telefone', '$estado', '$cidade', '$endereco', '$numero', '$cep')") or die( mysql_error() );

e formulario

<form action="cadastro/cadastrar.php" method="post">
<label for="nome">Nome:</label>
<input type="text" name="nome" value="" /><br />

<label for="empresa">Empresa:</label>
<input type="text" name="empresa" value="" /><br />

<label for="email">E-mail:</label>
<input type="text" name="email" value="" /><br />

<label for="telefone">Telefone:</label>
<input type="text" name="telefone" value="" /><br />

<label>Estado:</label><select id="estado" name="estado"></select> <br />
<label>Cidade:</label><select id="cidade" name="cidade"></select> <br />

<label for="endereco">Endereço:</label><input type="text" name="endereco" value="" /></br>
<label for="numero">N°:</label>
<input type="text" name="numero" value="" class="numero"/><br />

<label for="cep">CEP:</label>
<input type="text" name="cep" value="" /><br />

<input type="submit" name="cadastrar" id="enviarorcamento" value="Cadastrar" />

</form>

agradeço desde já

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acredito que o erro esteja em sua consulta SQL. Alguns bancos de dados, numa query de inserção, caso você não especifique as colunas, então todas as colunas serão aceitas. Você pode omitir a coluna primary key especificando todas as outras colunas na consulta, ou fornecendo um valor que seja maior que o último registrado (pelo menos em alguns bancos são assim).

 

Perceba que a mensagem do erro já é clara.

 

Incorrect integer value: '' for column 'id_cadastro' at row 1

 

Valor inteiro incorreto: '' para coluna 'id_cadastro' na linha 1

 

Provavelmente sua primary key é do tipo inteiro, então ela deve receber valores inteiros. Porém, por ser auto increment, não será necessário informar valor nenhum. Portanto, utilize a consulta abaixo e somente mude o nome das colunas:

 

$insere = mysql_query("INSERT INTO (nome, empresa, email, telefone, estado, cidade, endereco, numero, cep) VALUES 
($nome, $empresa, $email, $telefone, $estado, $cidade, $endereco, $numero, $cep)");

 

Assim, a primary key será omitida da query e o próprio banco se responsabiliza por incrementar o valor dela. Caso você tenha criado essa regra, claro.

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.