Ir para conteúdo

POWERED BY:

Arquivado

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

Bobrinha

[Resolvido] Erro: SQL syntax

Recommended Posts

Olá, estou com um problema muito chato aqui que nunca tinha me acontecido fiz umas pesquisas na web mais não achei solução não consigo fazer um simples insert que me deparo com 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,help,cat,flash,imagem) VALUES ('nome','descrição','ajuda','10','123','456')' at line 1

 

insert.php

 

<?php
include "../conexao.php"; 

$nome = ($_POST["nome"]);
$desc = ($_POST["desc"]);
$help = ($_POST["help"]);
$cat = ($_POST["categoria"]);

$nome_final='123';
$nome_final2='456';

$sql = mysql_query ("INSERT INTO teste (nome,desc,help,cat,flash,imagem) VALUES ('$nome','$desc','$help','$cat','$nome_final','$nome_final2')") or die (mysql_error());

?>

 

SQL

CREATE TABLE `teste` (
 `id` int(11) NOT NULL auto_increment,
 `nome` text NOT NULL,
 `desc` text NOT NULL,
 `help` text NOT NULL,
 `cat` int(11) NOT NULL,
 `flash` text NOT NULL,
 `imagem` text NOT NULL,
 PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=11 ;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Experimenta colocar:

 

$sql = mysql_query ("INSERT INTO teste (id,nome,desc,help,cat,flash,imagem) VALUES (null,'$nome','$desc','$help','$cat','$nome_final','$nome_final2')") or die (mysql_error());

Compartilhar este post


Link para o post
Compartilhar em outros sites

Experimenta colocar:

 

$sql = mysql_query ("INSERT INTO teste (id,nome,desc,help,cat,flash,imagem) VALUES (null,'$nome','$desc','$help','$cat','$nome_final','$nome_final2')") or die (mysql_error());

 

Obg amigo mais não funciona assim também e me retorna 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,help,cat,flash,imagem) VALUES (null,'','','','1','123','456')' at line 1

 

 

você criou uma coluna chamada desc, desc eh uma palavra reservada do sql e nao deve ser usada, ae esta seu erro...

 

Igor, se desc é uma palavra reservada algo esta errado eu tenho varios sites e sempre usei esta coluna e nunca tive problemas, inclusive tenho sites online com essa coluna com mais de 3000 resultados

Compartilhar este post


Link para o post
Compartilhar em outros sites

Igor, se desc é uma palavra reservada algo esta errado eu tenho varios sites e sempre usei esta coluna e nunca tive problemas, inclusive tenho sites online com essa coluna com mais de 3000 resultados

entao printa o sql na tela e veja o resultado, ele vai destacar o desc, ae você tera a certeza q eh palavra reservada, sobre outros sistemas, veja a versao do mysql, a versao pode ter mudado enovas features inseridas...ele nao proibe a criacao da coluna com este nome, apenas 'se enrola' na hora do select, acha q a uma palavra dele, e veja no erro q o erro esta comecando logo nesta palavra...

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente colocar aspas no desc ou coloque o nome por 'extenso' teste.desc

$sql = mysql_query ("INSERT INTO teste (nome, ´desc´,help,cat,flash,imagem)
VALUES ('$nome','$desc','$help','$cat','$nome_final','$nome_final2')")
or die (mysql_error());

Compartilhar este post


Link para o post
Compartilhar em outros sites

Shini mesmo alterando o mesmo erro continua, mais obrigado por ajudar

 

Igor seguindo sua logica que é muito estranha inclusive se puder poderia me explicar, eu mudei o nome da coluna de desc para descricao então a query funcionou agora como no meu site www.bobrinha.com eu tenho mais de 2600 jogos onde tem uma tabela chamada games e uma coluna chamada desc e sempre inseri registros normal agora não entendo por que disso?

 

Ha e muito obrigado pela força realmente se você não fala ia ficar dias apanhando aqui tentando de todo jeito e não teria resultados

Compartilhar este post


Link para o post
Compartilhar em outros sites

se eu pudese at explicaria, mas como a infromatica eh ciencia exoteria e eu nao sou cigano, nao posso lhe explicar..kkkk mas assim, outro dia tinha um cara aki com o mesmo problema, ae eu peguei o sql dele e joguei no phpmyadmin, q realcou a palavra ae eu saquei, era a palavra desc q estava como reservada, assim como existe palavra reservada no php, no mysql tb existe, e no seu caso pode ser a versao do mysql q nao faz tal validacao...

Compartilhar este post


Link para o post
Compartilhar em outros sites

nem o nome por extenso funcionou? qual é a versão do mysql?

Compartilhar este post


Link para o post
Compartilhar em outros sites

nem o nome por extenso funcionou? qual é a versão do mysql?

 

De nenhuma forma que você ajudou deu certo e de outras, a única solução foi mudar o nome da coluna como disse o Igor

 

Apache version 2.2.17

PHP version 5.2.17

MySQL version 5.0.95-community-log

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.