Ir para conteúdo
Fórum Script Brasil
  • 0

Erro de Sintaxe


scjava

Pergunta

Olá,

tenho um código pra subtrair 1 de um valor no banco de dados

no entanto sempre que esse código é executado na primeira vez aparece esse 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 '= scod_nomes_produtos' at line 1

o código que executa é esse

$update = "UPDATE ".TABLEPREFIX." nomes_produtos SET quantidade = quantidade -1 WHERE $cod_nomes_produtos = scod_nomes_produtos";
    $con->executa( $update );
}
else{
    $cod_estoque = $res[0][0];
}

não consigo ver aonde está o erro de sintaxe, o mais estranho é que na segunda tentativa funciona, mas aparece sempre o erro na primeira

alguém pode me ajudar?

obrigado

Editado por scjava
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Olá,

tenho um código pra subtrair 1 de um valor no banco de dados

no entanto sempre que esse código é executado na primeira vez aparece esse 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 '= scod_nomes_produtos' at line 1

o código que executa é esse

$update = "UPDATE ".TABLEPREFIX." nomes_produtos SET quantidade = quantidade -1 WHERE $cod_nomes_produtos = scod_nomes_produtos";
    $con->executa( $update );
}
else{
    $cod_estoque = $res[0][0];
}

não consigo ver aonde está o erro de sintaxe, o mais estranho é que na segunda tentativa funciona, mas aparece sempre o erro na primeira

alguém pode me ajudar?

obrigado

Não conheço NADA de PHP, mas de tanto ver códigos de PHP aqui descobri que o caracter de ponto "." é usado para concatenar strings, correto?

Descobri, também de variáveis vem precedidas do caracter "$", correto?

Então, como leigo que sou, a sua variável $cod_nomes_produtos não deveria estar escrita como abaixo?

...WHERE ".$cod_nomes_produtos." = scod_nomes_produtos";
Link para o comentário
Compartilhar em outros sites

  • 0

$update = "UPDATE ".TABLEPREFIX." nomes_produtos SET quantidade = quantidade -1 WHERE $cod_nomes_produtos = scod_nomes_produtos";
    $con->executa( $update );
}
else{
    $cod_estoque = $res[0][0];
}

O erro pode ser isso: ".TABLEPREFIX."

que teria que ser assim: 'TABLEPREFIX' pois se colocar ". ." serve para inserir variáveis na sua consulta SQL

e também pode ser o que o companheiro citou acima

$cod_nomes_produtos = scod_nomes_produtos"

que deveria ser assim ' ".$cod_nomes_produtos."' = scod_nomes_produtos"

Link para o comentário
Compartilhar em outros sites

  • 0

obrigado pela ajuda

mas infelizmente nenhuma das duas maneiras funcionou, como esse sistema não foi feito por mim, eu não sei exatamente porque ele foi feito assim, só sei que colocando do jeito que vocês falaram não funciona, já tinha feito tentativas desse tipo, mas fazendo assim ele para de funcionar por completo

da maneira que está, ele funciona, só que apenas na segunda tentativa sempre (o que é um comportamento bem estranho)

acho que é ajax e por isso tá assim

Editado por scjava
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,4k
    • Posts
      652,1k
×
×
  • Criar Novo...