3
I’m trying to use ON DUPLICATE KEY UPDATE in my query and for some reason it’s not working. 
I withdraw the ID and no use ON DUPLICATE KEY UPDATE: values are saved in a new line in the database.
Example:
$sql = "INSERT INTO estoque ( cod_produto, dsc_produto, preco_produto, qtd_estoque, qtd_limitador) VALUES ('".$cod_produto."', '".$dsc_produto."', '".$preco_produto."', '".$qtd_estoque."', '".$qtd_limitador."');
Faulty code:
if (isset($_POST["submit"])) {
            $id = $_GET[id];
            $cod_produto = $_POST['cod_produto'];
            $dsc_produto = $_POST['dsc_produto'];
            $preco_produto = $_POST['preco_produto'];
            $qtd_estoque = $_POST['qtd_estoque'];
            $qtd_limitador = $_POST['qtd_limitador'];
            $sql = "INSERT INTO estoque (id, cod_produto, dsc_produto, preco_produto, qtd_estoque, qtd_limitador) VALUES ('".$id."','".$cod_produto."', '".$dsc_produto."', '".$preco_produto."', '".$qtd_estoque."', '".$qtd_limitador."') ON DUPLICATE KEY UPDATE (cod_produto=$cod_produto, dsc_produto=$dsc_produto)";
            $mysql = mysqli_query($conexao,$sql);
                if (!mysql) {
                    die('Error: ' . mysqli_error()); 
                }
                else {
                    echo "Feito";
                }
echo $id;
}
Shows no error, just do not save any value in the bank.
Take a look at this article, it exemplifies the use of ON DUPLICATE KEY UPDATE I had the same problem solved with this article. Good luck http://blog.glaucocustodio.com/2012/10/26/actualizr-registro-existi-senao-inserir-no-mysql-com-on-duplicate-key-update/ See documentation also if necessary https://dev.mysql.com/docrefman/5.0/en/insert-duplicate.html.
– Jerfeson Guerreiro