Jump to content
Fórum Script Brasil
  • 0

Erro de Sintaxe


scjava

Question

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

Edited by scjava
Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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

Edited by scjava
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...