Ir para conteúdo

POWERED BY:

Arquivado

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

crazy4combat

Problema com insert

Recommended Posts

Olá galera estou com um erro simples, maas talvez por estar cansado visualmente não consigo achar

Column count doesn't match value count at row 1

 

 

<h3>Cadastro > Passo 5 de 5</h3>
<?
$registro_ip=$REMOTE_ADDR;
$registro_hora=date("H:i");
$registro_data=date("d/m/y");

require("connect.inc.php");
mysql_select_db($db_name, $db_conexion) or print (mysql_error());
$query="INSERT INTO cadastro (
							  usuario,
							  cpf,
							  nome,
							  rg,
							  endereco,
							  complemento, 
							  estado,
							  cidade,
							  bairro,
							  cep1,
							  cep2,
							  ddd,
							  telefone,
							  ddd_cel,
							  celular,
							  email,
							  apresentador,
							  camera,
							  editor,
							  descricao,
							  registro_ip,
							  registro_hora,
							  registro_data)
		VALUES (
				'$_COOKIE[usuario]',
				'$_COOKIE[cpf]',
				'$_COOKIE[nome]',
				'$_COOKIE[rg]',
				'$_COOKIE[endereco]',
				'$_COOKIE[complemento]',
				'$_COOKIE[estado]',
				'$_COOKIE[cidade]',
				'$_COOKIE[bairro]',
				'$_COOKIE[cep1]',
				'$_COOKIE[cep2]',
				'$_COOKIE[ddd]',
				'$_COOKIE[telefone]',
				'$_COOKIE[ddd_cel]',
				'$_COOKIE[celular]',
				'$_POST[email]',
				'$_POST[apresentador]',
				'$_POST[camera]',
				'$_POST[editor]',
				'$_POST[descricao]'
				'$registro_ip',
				'$registro_hora',
				'$registro_data')";
mysql_query($query,$db_conexion) or print (mysql_error());
?>
Cadastro concluído!

 

row é o usuario e não vejo o o problema se o valor foi betano.

 

Obs. O cadastro é dividido em três páginas, para o valor não ser perdido usei cookie.

Compartilhar este post


Link para o post
Compartilhar em outros sites

$query = "

INSERT INTO cadastro (

usuario,

cpf,

nome,

rg,

endereco,

complemento,

estado,

cidade,

bairro,

cep1,

cep2,

ddd,

telefone,

ddd_cel,

celular,

email,

apresentador,

camera,

editor,

descricao,

registro_ip,

registro_hora,

registro_data

) VALUES (

'{$_COOKIE['usuario']}',

'{$_COOKIE['cpf']}',

'{$_COOKIE['nome']}',

'{$_COOKIE['rg']}',

'{$_COOKIE['endereco']}',

'{$_COOKIE['complemento']}',

'{$_COOKIE['estado']}',

'{$_COOKIE['cidade']}',

'{$_COOKIE['bairro']}',

'{$_COOKIE['cep1']}',

'{$_COOKIE['cep2']}',

'{$_COOKIE['ddd']}',

'{$_COOKIE['telefone']}',

'{$_COOKIE['ddd_cel']}',

'{$_COOKIE['celular']}',

'$_POST['email']}',

'$_POST['apresentador']}',

'$_POST['camera']}',

'$_POST['editor']}',

'$_POST['descricao']}'

'$registro_ip',

'$registro_hora',

'$registro_data'

)

";

 

echo $query; exit; // for debug purposes only

 

mysql_query($query,$db_conexion) or print (mysql_error());

Compartilhar este post


Link para o post
Compartilhar em outros sites

Msg apresentada:

INSERT INTO cadastro 
( usuario, cpf, nome, rg, endereco, complemento, estado, cidade, bairro, cep1, cep2, ddd, telefone, ddd_cel, celular, email, apresentador, camera, editor, descricao, registro_ip, registro_hora, registro_data) 
VALUES 
( 'ninguem', '52259803920', 'Teste de cadastro', '9999999999-9', 'Rua dos bobos,0', 'Apt 0', 'SP', 'SP', 'Barra pesada', '999', '999999', '99', '99999999', '99', '99999999', 'bobo@zeroaesquerda.com', '', '', 'editor', 'teste do form' '189.121.156.178', '09:31', '04/02/10')

Compartilhar este post


Link para o post
Compartilhar em outros sites

baseado na query e na resposta de erro provindo do mysql, consegue enxergar o erro ?

 

Column count doesn't match value count at row 1

essa mensagem de erro pode significar:

1- está tentando gravar algum tipo de dado incompatível com a definição de alguma coluna

2- está faltando alguma coluna

 

obs: a quantidade de colunas e valores, montadas na query, são indênticas, portanto, descarta-se a possibilidade de estar faltando alguma coluna em relação a quantidade de valores, ou vice-versa.

 

se tiver dificuldade em diagnosticar o problema, poste o DDL da tabela (estrutura da tabela)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na boa não achei ainda o erro

 

CREATE TABLE `cadastro` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `ativo` int(11) NOT NULL,
 `nome` text NOT NULL,
 `email` text NOT NULL,
 `email_mostra` int(11) NOT NULL,
 `usuario` text NOT NULL,
 `senha` text NOT NULL,
 `cpf` text NOT NULL,
 `rg` text NOT NULL,
 `endereco` text NOT NULL,
 `complemento` text NOT NULL,
 `estado` text NOT NULL,
 `cidade` text NOT NULL,
 `bairro` text NOT NULL,
 `cep1` text NOT NULL,
 `cep2` text NOT NULL,
 `ddd` text NOT NULL,
 `telefone` text NOT NULL,
 `telefone_mostra` int(11) NOT NULL,
 `ddd_cel` text NOT NULL,
 `celular` text NOT NULL,
 `editor` int(11) NOT NULL,
 `camera` int(11) NOT NULL,
 `apresentador` int(11) NOT NULL,
 `descricao` text NOT NULL,
 `registro_ip` text NOT NULL,
 `registro_hora` text NOT NULL,
 `registro_data` text NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;

Compartilhar este post


Link para o post
Compartilhar em outros sites

olhando rapidamente na estrutura e comparando com o resultado da query SQL, percebe-se nitidamente o problema principal.

 

os campos "editor" e "camera", estão definidos como INT(11), ou seja, numérico inteiro de tamanho 11.

 

na query SQL, os valores relacionados não condizem com o tipo definido na tabela

 

a coluna "editor", está recebendo a string "bobo@zeroaesquerda.com"

a coluna "camera" está recebendo uma string vazia

 

 

existem outros erros "graves" na definição das colunas, quer consertar isso também ?

 

 

para corrigir o primeiro problema, execute as querys

 

ALTER TABLE cadastro CHANGE editor editor VARCHAR(110)  NOT NULL;
trocará o tipo da coluna "editor" para VACHAR(110)

 

 

ALTER TABLE cadastro CHANGE camera camera VARCHAR(80)  NOT NULL;
trocará o tipo da coluna "camera" para VACHAR(80)

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.