Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

ALTERAR

Minha referencia para pegar as informações do produto que quer alterar esta dando certo porem na hora de alterar e cadastrar ele informa um erro porem esse erro é porque ele não esta dando update no banco pode verificar oqeu tem de erro no codigo informa erro na linha 40 41

function alteraProduto($conexao,$produto){
L40 - $query = "update produtos set nome = '{$produto->nome}', quantidade = {$produto->quantidade},
L41-          valor={$produto->valor}, modelo={$produto->modelo} where id = '{$produto->id}'";
    return mysqli_query($conexao, $query);

}
3 respostas

Bom dia Victor!

Aparece alguma mensagem de erro?

Dá um echo ou um var_dump na $query e posta aqui o resultado.

O campo nome é string; quantidade, inteiro; valor, double; modelo é string também; id é inteiro.

Vê se assim funciona:

$query = "update produtos set nome = '{$produto->nome}', quantidade = {$produto->quantidade}, valor='{$produto->valor}', modelo='{$produto->modelo}' where id = {$produto->id}";

Dei um VAR DUMP na $query ele retorna =

string(95) "update produtos set nome = 'Teste54875', quantidade = 20, valor=20.00, modelo=30 where id = ''"
solução!

Bom dia, já consegui resolver o problema. Mas ainda bem que você me citou do vardump. conforme resultado do var_dump ele não esta pegando o ID ou verifiquei no arquivo altera-produto.php e estava declarado assim :

$produto->nome = $_GET["nome"];
$produto->quantidade = $_GET["quantidade"];
$produto->valor = $_GET["valor"];
$produto->modelo = $_GET["modelo"];

não estava declarando o ID por isso que não deu certo a solução foi acrescentar o ID :

$produto = new Produto();
$produto->id = $_GET["id"];
$produto->nome = $_GET["nome"];
$produto->quantidade = $_GET["quantidade"];
$produto->valor = $_GET["valor"];
$produto->modelo = $_GET["modelo"];