Ir para conteúdo

POWERED BY:

Arquivado

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

Evandro.S Eisinger

[Resolvido] Funciona somente com dois campos!

Recommended Posts

Oi Pessoal estou tendo um problema um tanto estranho...

 

Eu estou usando um formulario de cadastro para cadastrar meus clientes.

Mas meu formulario somente funciona usando dois campos no INSERT:

 

Assim funciona:

 

<?php
include("conexao.php");
$nome=$_POST["nome_txt"];
$desc=$_POST["desc_txt"];
$contato=$_POST["contato_txt"];
$link=$_POST["link_txt"];
$imagem1=$_FILES['file']['tmp_name'];
if(!empty($nome)){
	mysql_query("INSERT INTO tb_clientes (nome,link) VALUES ('$nome','$link')") or die ("Erro no insert");
	//Pesquisar ultimo registro
	$ultimo=mysql_query("select max(id) from tb_clientes");
	//Armarzenar o resultado da variavel
	$id=mysql_result($ultimo,0);
	//Fazer uploadad_foto
	move_uploaded_file($imagem1,"./fotos/".$id.'_cliente.jpg');
	echo "<script>
	alert('Produtos cadastrado!');
	document.location='cad_fotos.php';
	</script>";
}
else
{
echo "<script>
alert('Preencha a referencia!');
history.back();
</script>";
}
?>

Mas com 3 ou 4 ou mais campos nao funciona: Obs:"Ai apareçe (Erro no insert)".

 

<?php
include("conexao.php");
$nome=$_POST["nome_txt"];
$desc=$_POST["desc_txt"];
$contato=$_POST["contato_txt"];
$link=$_POST["link_txt"];
$imagem1=$_FILES['file']['tmp_name'];
if(!empty($nome)){
	mysql_query("INSERT INTO tb_clientes (nome,desc,contato,link) VALUES ('$nome','$desc','$contato','$link')") or die ("Erro no insert");
	//Pesquisar ultimo registro
	$ultimo=mysql_query("select max(id) from tb_clientes");
	//Armarzenar o resultado da variavel
	$id=mysql_result($ultimo,0);
	//Fazer uploadad_foto
	move_uploaded_file($imagem1,"./fotos/".$id.'_cliente.jpg');
	echo "<script>
	alert('Produtos cadastrado!');
	document.location='cad_fotos.php';
	</script>";
}
else
{
echo "<script>
alert('Preencha a referencia!');
history.back();
</script>";
}
?>

Ja testei com 3 campos e 4,.... mas tambem nao funcionaram

 

Alguem sabe porque ta dando essa droga de erro?

 

Um grande abraço! E torço para que descubram oque esta avendo de errado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

formulario de inserir normal.. bom eu uso essas coisas com o PHP que o dreamweaver gera automaticamente...

 

rapido você mexe no PHP onde precisa...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloca no die:

... or die(mysql_error());
Isso vai te mostrar o erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Marcio!

 

Coloquei o (mysql_error()) e apareceu isso, quando eu fui cadastrar:

 

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'desc,contato,link) VALUES ('Yoga - Novo Hamburgo','Loja de modelarodes.','yoganh' at line 1

 

Nao intendi direito que ta dando, é no Banco?

 

 

Obrigado pela ajuda desde entao!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olhei no banco, e ta certo, o id = int, autoincrement, primary key, e o resto ta varchar.

 

Alguem sabe qq ta avendo nesse erro?

 

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'desc,contato,link) VALUES ('Yoga - Novo Hamburgo','Loja de modelarodes.','yoganh' at line 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Imprime a query que está dando erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Marcio!

 

Coloquei o você pediu antes no codigo e deu isso:

 

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'desc,contato,link) VALUES ('Yoga - Novo Hamburgo','Loja de modelarodes.','yoganh' at line 1

 

Como eu imprimu uma query?

 

Abraços!

 

Obrigado pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

echo "a query q você quer imprimir";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Marcio!

 

Fiz assim nao imprimiu nada:

 

resto do cod....

$query=mysql_query("insert into tb_clientes (nome,desc,contato,link) VALUES ('$nome','$desc','$contato','$link')");

echo "$query

resto do cod

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

É porque $query é um recurso, e não uma string.

Faz assim:

echo ("insert into tb_clientes (nome,desc,contato,link) VALUES ('$nome','$desc','$contato','$link')";

Compartilhar este post


Link para o post
Compartilhar em outros sites

É, não era pra dar erro.

Roda esta query em um cliente do MySQL, tipo ems, phpmyadmin, etc, pra ver o que acontece.

Talvez o problema se deva a estrutura da sua tabela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Marcio!

 

Rodei aqui no servidor local, e nao deu tb,

 

A minha tabela ta assim:

 

id = int 12 autoincrement primary key

nome = varchar 20

desc = varchar 50

contato = varchar 20

link = varchar 20

 

 

Eu nao sei oque esta avendo de errado...

Ou o meu codigo ta loco...

Ou eu nao sei...

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz um dump da tabela e manda pra mim por email. Te mandei o email por MP.

Compartilhar este post


Link para o post
Compartilhar em outros sites

este eh o erro:

 

insert into tb_clientes (nome,desc,contato,link) VALUES ('teste','teste','teste','teste')

 

 

o certo eh:

 

insert into tb_clientes (id,nome,desc,contato,link) VALUES ('teste','teste','teste','teste')

 

 

o problema eh q a tabela comte 5 campos, e você manda inserir em 4, mesmo q um deles seja opcional(id) tem q inserir em 5 campos,e ano 4, tenta ae...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou tentar, mas a tabela ta como id autoincrement, esse autoincrement nao add sozinho o valor?

 

Abraços!

 

Obrigado pela ajuda

 

 

Testei aqui agora com o:

 

insert into tb_clientes (id,nome,desc,contato,link) VALUES ('teste','teste','teste','teste')

 

E nao deu certo.

 

abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

o certo eh:

insert into tb_clientes (id,nome,desc,contato,link) VALUES ('teste','teste','teste','teste')

Isso vai dar um erro: COLUMN COUNT DOES NOT MATCH, porque o numero de campos é diferente do numero de valores a assimilar.

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.