Ir para conteúdo

POWERED BY:

Arquivado

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

Carlos Vital

o que está de errado neste insert?

Recommended Posts

Oi galera tudo bem?

fiz um código para inserir dados em um banco de dados, mas não está inserindo os dados e esta me retornando o seguinte erro:

Houve um erro ao realizar a consulta! 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 ''nome') VALUES (carlos)' at line 1

então gostaria de saber o que esta de errado.

eu uso o mysql 5 e php 5

os scripts que estou usado são os seguintes:

cadastra.php

<?php$texto = $_REQUEST["texto"];include "conexao.classe.php";$banco = new bd;$banco->conecta("localhost","root","","usuarios");$banco->consulta("INSERT INTO nomes ('nome') VALUES ($texto)");?>
conexao.classe.php

<?php 	class bd	{		function conecta($host,$user,$pass,$bd){	 $link = mysql_connect($host, $user, $pass)	 or die ("<b>Houve um erro ao conectar a base de dados!</b></br></br>". mysql_error());	 	 mysql_select_db($bd,$link)	 or die ("<b>Houve um erro ao selecionar a base de dados!</b></br></br>". mysql_error());	 return $link;}		function consulta($sql){	 $query = mysql_query($sql)	 or die ("<b>Houve um erro ao realizar a consulta!</b></br></br>". mysql_error());	 return $query;}	}?>

desde já, agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tmferreira, eu fiz essa mudança que você me disse mas voltou o mesmo erro:

Houve um erro ao realizar a consulta!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 ''nome') VALUES ('carlos')' at line 1

então gostaria de saber se é problema no mysql ou do php e se eu devo reinstalar o php e o mysql.

Compartilhar este post


Link para o post
Compartilhar em outros sites

a mensagem de erro que apareceu no phpMyAdmin é:

 

Erro

 

consulta SQL:

 

INSERT INTO nomes( 'nome' )

VALUES (

'carlos'

)

Mensagens do MySQL : Documentação

#1064 - 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 ''nome') VALUES ('carlos')' at line 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

resolvi fazer um script para inseri um valor direto sem pegar valor de variaveis:

<?php	 $link = mysql_connect("localhost","root","")	 or die ("<b>Houve um erro ao conectar a base de dados!</b></br></br>". mysql_error());	 	 mysql_select_db("usuarios",$link)	 or die ("<b>Houve um erro ao selecionar a base de dados!</b></br></br>". mysql_error());	 $sql = ("INSERT INTO nomes (nome) VALUES (carloshenrique)");	  mysql_query($sql) or die(mysql_error());?>
só que também me retornou um erro:

Unknown column 'carloshenrique' in 'field list'

a tabela do banco de dados que está sendo usado é a seguinte:

-- phpMyAdmin SQL Dump-- version 2.8.2.4-- http://www.phpmyadmin.net-- -- Servidor: localhost-- Tempo de Geração: Out 28, 2006 as 05:29 PM-- Versão do Servidor: 5.0.22-- Versão do PHP: 5.1.6-- -- Banco de Dados: `usuarios`-- -- ---------------------------------------------------------- -- Estrutura da tabela `nomes`-- CREATE TABLE `nomes` ( `id` int(15) NOT NULL auto_increment, `nome` varchar(60) NOT NULL, PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;-- -- Extraindo dados da tabela `nomes`--

Compartilhar este post


Link para o post
Compartilhar em outros sites

Até que fim descobri o erro, é uma coisa tão besta,

uma simples aspa simples.

nessa linha:

eu coloquei desse jeito

$banco->consulta("INSERT INTO nomes ('nome') VALUES ($texto)");

o certo seria assim

$banco->consulta("INSERT INTO nomes (nome) VALUES ('$texto')");

Valeu pela ajuda.

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.