Ir para conteúdo

POWERED BY:

Arquivado

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

formalivre

[Resolvido] Erro de syntax

Recommended Posts

olá pessoal.

tenho esse código que faz um update:

<?
include "config.php";
  $id_select = $_GET['usuario_id']; //Recupera a variavel id para fazer o select
  $usuario_id = $_POST['usuario_id']; //Recupera a variavel id para fazer o update
  $nomeempresa = $_POST['nomeempresa'];
  $endereco = $_POST['endereco'];
  $cidade = $_POST['cidade'];
  $bairro = $_POST['bairro'];
  $estado = $_POST['estado'];
  $telefone1 = $_POST['telefone1'];
  $telefone2 = $_POST['telefone2'];
  $site = $_POST['site'];
  $logo = $_POST['logo'];
  $primeiro_cupom = $_POST['primeiro_cupom'];
  $segundo_cupom = $_POST['segundo_cupom'];

if ((isset($_POST['usuario_id'])) && ($_POST['nomeempresa']) && ($_POST['endereco']) && ($_POST['cidade']) && ($_POST['estado']) && ($_POST['telefone1']) && ($_POST['telefone2']) && ($_POST['site']) && ($_POST['logo']) && ($_POST['primeiro_cupom']) && ($_POST['segundo_cupom'])){ //Verifica se a variável foi postada
  $sql = "UPDATE promocao SET nomeempresa='$nomeempresa', endereco='$endereco', cidade='$cidade', bairro='$bairro', estado='$estado', telefone1='$telefone1', telefone2='$telefone2', site='$site', logo='$logo', primeiro_cupom='$primeiro_cupom',segundo_cupom='$segundo_cupom' where usuario_id=$usuario_id"; //Faz a alteração do registro
  $result = mysql_query($sql) or die(mysql_error()); //Verifica se os registros foram alterados
  header("Location: area_restrita.php"); //Após inserido redireciona
  }

$sql_texto = "SELECT * FROM promocao where usuario_id=$id_select";
$query_texto = mysql_query($sql_texto) or die(mysql_error());
$row_texto = mysql_fetch_assoc($query_texto);
$usuario_id = $row_texto['usuario_id'];
$nomeempresa = $row_texto['nomeempresa'];
$endereco = $row_texto['endereco'];
$bairro = $row_texto['bairro'];
$cidade = $row_texto['cidade'];
$estado = $row_texto['estado'];
$telefone1 = $row_texto['telefone1'];
$telefone2 = $row_texto['telefone2'];
$site = $row_texto['site'];
$logo = $row_texto['logo'];
$primeiro_cupom = $row_texto['primeiro_cupom'];
$segundo_cupom = $row_texto['segundo_cupom'];
?>
está causando este 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 '' at line 1

não consigo encontrar o erro, alguém pode me ajudar por favor. obrigado desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

existem vários erros

 

mas para resolver o asssunto de forma objetiva

 

nesse trecho

$sql = "UPDATE promocao SET nomeempresa='$nomeempresa', endereco='$endereco', cidade='$cidade', bairro='$bairro', estado='$estado', telefone1='$telefone1', telefone2='$telefone2', site='$site', logo='$logo', primeiro_cupom='$primeiro_cupom',segundo_cupom='$segundo_cupom' where usuario_id=$usuario_id"; //Faz a alteração do registro
$result = mysql_query($sql) or die(mysql_error());

faça um debug

 

$sql = "UPDATE promocao SET nomeempresa='$nomeempresa', endereco='$endereco', cidade='$cidade', bairro='$bairro', estado='$estado', telefone1='$telefone1', telefone2='$telefone2', site='$site', logo='$logo', primeiro_cupom='$primeiro_cupom',segundo_cupom='$segundo_cupom' where usuario_id=$usuario_id"; //Faz a alteração do registro

echo '<b>SQL:</b>' . $sql; exit;

$result = mysql_query($sql) or die(mysql_error());

 

veja se a query SQL está sendo montada corretamente.

 

caso não entenda de SQL, consulte o forum MySQL http://forum.imasters.com.br/public/style_emoticons/default/seta.gif http://forum.imasters.com.br/index.php?/forum/67-mysql/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nesse seu IF, você colocou o ISSET só na primeira variável. Ele está testando se só o "usuario_id" foi setado.

Nos outros você está verificando se tem o $_POST. Se você não preencher nada na variável ele vai dar erro no Update, algum campo vai estar vazio e talvez não aceite NULO.

if ((isset($_POST['usuario_id'])) && ($_POST['nomeempresa']) && ($_POST['endereco']) && ($_POST['cidade']) && ($_POST['estado']) && ($_POST['telefone1']) && ($_POST['telefone2']) && ($_POST['site']) && ($_POST['logo']) && ($_POST['primeiro_cupom']) && ($_POST['segundo_cupom'])){ //Verifica se a variável foi postada
 }

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá pessoal obrigado pela respostas.

1- tentei fazer o debug que o Monih disse. mas não aconteceu nada. continuou o mesmo erro.

2- o que o Dee disse eu verifiquei todos os Posts tem conteúdo e continua dando erro.

3- em relação ao que o Rick.hjpbarcelos disse, para usar a função addslashes em todos eles eu não entendi.

no mais infelizmente continuo com o mesmo erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloquei assim:

if ((isset($_POST['usuario_id'])) && (isset($_POST['nomeempresa'])) && (isset($_POST['endereco'])) && (isset($_POST['cidade'])) && (isset($_POST['estado'])) && (isset($_POST['telefone1'])) && (isset($_POST['telefone2'])) && (isset($_POST['site'])) && (isset($_POST['logo'])) && (isset($_POST['primeiro_cupom'])) && (isset($_POST['segundo_cupom']))){
continuou o mesmo 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 '' at line 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

fiz o debug:

$sql = "UPDATE promocao SET nomeempresa='$nomeempresa', endereco='$endereco', cidade='$cidade', bairro='$bairro', estado='$estado', telefone1='$telefone1', telefone2='$telefone2', site='$site', logo='$logo', primeiro_cupom='$primeiro_cupom',segundo_cupom='$segundo_cupom' where usuario_id=$usuario_id"; '<b>SQL:</b>' . $sql; exit;$result = mysql_query($sql) or die(mysql_error()); //Verifica se os registros foram alterados
  header("Location: area_restrita.php"); //Após inserido redireciona
  }
continua o mesmo erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha direito o debug.

 

$sql = "UPDATE promocao SET nomeempresa='$nomeempresa', endereco='$endereco', cidade='$cidade', bairro='$bairro', estado='$estado', telefone1='$telefone1', telefone2='$telefone2', site='$site', logo='$logo', primeiro_cupom='$primeiro_cupom',segundo_cupom='$segundo_cupom' where usuario_id=$usuario_id"; //Faz a alteração do registro

echo '<b>SQL:</b>' . $sql; exit;

$result = mysql_query($sql) or die(mysql_error());

Vai imprimir a query. Poste aqui pra gente olhar.

 

Carlos Eduardo

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.