Ir para conteúdo

Arquivado

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

Tatsui

O que ta errado? :S

Recommended Posts

tenho o seguinte código:

		$nome = $_POST['nome'];
	$preco = $_POST['preco'];
	$img = $_POST['img'];
	$desc2 = $_POST['desc'];

	$sql = "UPDATE produtos SET nome = '$nome', preco = '$preco', img = '$img', desc = '$desc2' WHERE id = '$id'";
	$query = mysql_query($sql) or die("Erro ".mysql_error());

 

quando tendo enviar, aparece o seguinte 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 = 'gfghd' WHERE id = '1'' at line 1

 

ME ajudem por favor ^^

Obrigado :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está digitando caracteres especiais no campo da imagem ou descrição. Faça um debug para saber em qual campo, e fala funções para escapar caracteres especiais, em sua query não existe erro.

 

print '<pre>';
print_r($_POST);
print '</pre>';

$nome = $_POST['nome'];
               $preco = $_POST['preco'];
               $img = $_POST['img'];
               $desc2 = $_POST['desc'];

               $sql = "UPDATE produtos SET nome = '$nome', preco = '$preco', img = '$img', desc = '$desc2' WHERE id = '$id'";
               $query = mysql_query($sql) or die("Erro ".mysql_error());

Compartilhar este post


Link para o post
Compartilhar em outros sites

'desc' é uma palavra reservada, mude o nome da coluna se possivel...

 

http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html

 

 

MySQL permits some keywords to be used as unquoted identifiers because many people previously used them. Examples are those in the following list:

ACTION

BIT

DATE

ENUM

NO

TEXT

TIME

TIMESTAMP

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem lembrado.

 

o DESC é para definir a ordem dos dados, porém, não sei se na posição em que ele se encontra irá afetar a query.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ja resolvi, o problema foi o q o amigo citou ai em cima, num pode usar desc como nome de uma coluna no mysql.

eu uso outros banco de dados, e neles não acontece isso, são mais inteligentes kkk.

de qualquer forma obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

gera erro de sintaxe.

 

tenta excutar essa consulta

 

select desc from <tabela>

 

se não for possivel alterar o nome da coluna, adicione aspas em desc

 

select 'desc' from <tabela>

ou

select `desc` from automoveis

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.