user3431042
user3431042

Reputation: 11

error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id = '9'' at line 1

I need to update a product with the following information, but I'm receiving an error about the "where id"

<?php
function alteraProduto($conexao, $id, $nome, $preco, $descricao, $categoria_id, $usado) {
    $produtos = mysqli_real_escape_string($conexao, $produto);     
    $query = "UPDATE produtos SET nome = '{$nome}', preco = {$preco}, descricao = '{$descricao}', categoria_id = {$categoria_id}, usado = {$usado} WHERE id = '{$id}'";
    return mysqli_query($conexao, $query);
}
?>

Upvotes: 1

Views: 92

Answers (1)

Fabio
Fabio

Reputation: 23480

usado column probably contains strings and you are inserting one so you need to surround with quotes

usado = '{$usado}'

So the query will look like that

UPDATE produtos 
SET nome = '{$nome}', preco = {$preco}, descricao = '{$descricao}', categoria_id = {$categoria_id}, usado = '{$usado}' 
WHERE id = '{$id}'

Integer columns only don't need to be surrounded with quotes

Upvotes: 2

Related Questions