Tenho um form muito simples, para ajuste manual de estoque.
Um dos campos deste form chama-se {quantidade};
Na inclusão do registro (onAfterInsert), tenho o seguinte código:
$sql = “UPDATE produtos SET qtde_estoque = qtde_estoque + {quantidade} WHERE id = {produto}”;
sc_exec_sql($sql);
Funciona 100%, incrementando o estoque na tabela produtos.
Na exclusão do registro (razão do problema) eu preciso desfazer o update feito pela inclusão, mais ou menos assim:
$sql = "UPDATE produtos SET qtde_estoque = qtde_estoque - {quantidade} WHERE id = {produto}";
sc_exec_sql($sql);
OU
$sql = "UPDATE produtos SET qtde_estoque = qtde_estoque - " . {quantidade} . " WHERE id = {produto}";
sc_exec_sql($sql);
O que acontece é que o código enxerga o campo {produto}, mas não enxerga o campo {quantidade}, conforme o debug abaixo:
(mysqlt): UPDATE produtos SET qtde_estoque = qtde_estoque - WHERE id = 1
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 ‘WHERE id = 1’ at line 1
ADOConnection._Execute(UPDATE produtos SET qtde_estoque = qtde_estoque - WHERE id = 1 , false) % line 1085, file: adodb.inc.php
Alguém pode me ajudar?