Ir para conteúdo

POWERED BY:

Arquivado

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

wdc_black_

[Resolvido] Erro ao gravar no banco

Recommended Posts

Eai galera to colocando esse sql pra grava um texto c/ foto no banco.

 

sql

$sql = "INSERT INTO fotos ( IDFoto, Foto, IDpagina, Desc, thumb, data ) VALUES ( '', '".$foto."', '1', '".$legenda[$i]."', '".$thumb."' , NOW() ) ";

 

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, thumb, data ) VALUES ( '', '12_gnd_mario_bros.jpg', '1', 'mario', '12_gnd_' at line 1

 

banco

CREATE TABLE IF NOT EXISTS `fotos` (
 `IDFoto` int(11) NOT NULL AUTO_INCREMENT,
 `IDAlbum` varchar(255) NOT NULL,
 `IDpagina` int(3) NOT NULL,
 `Foto` varchar(255) NOT NULL,
 `thumb` varchar(255) NOT NULL,
 `Desc` varchar(255) NOT NULL,
 `data` date NOT NULL,
 PRIMARY KEY (`IDFoto`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

 

ele faz upload da imagem certinho, mas n grava no banco, eu n consigo ver erro nesse sql, alguem me da uma luz por favor hehehe

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite,

 

Tente desta maneira:

INSERT INTO fotos ( IDFoto, Foto, IDpagina, fotos.Desc, thumb, fotos.data ) VALUES ....

Acredito que isto ocorra por que DESC está sendo interpretado como um comando e não como o campo da sua tabela.

 

espero ter ajudado

Compartilhar este post


Link para o post
Compartilhar em outros sites

O mais correto mesmo seria não somente agregar as tabelas aos seus sufixos, mas fazer bom uso das aspas.

Eu faria da seguinte maneira:

 

$sql = '
INSERT INTO
	`fotos` as `f`
SET
	`f`.`Foto`	= \''.$foto.'\',
	`f`.`IDpagina`	= 1,
	`f`.`Desc`	= \''.$legenda[$i].'\',
	`f`.`thumb`	= \''.$thumb.'\',
	`f`.`data`	= NOW()
';

 

Não seria necessário o uso do alias `f`, mas é uma boa prática.

 

[]'s

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.