1
How can I do an UPDATE only if the data sent is different from the data stored?
I’m with the following:
<?php
header('Content-type: application/json');
header('Access-Control-Allow-Origin: *');
include 'database.php';
$cod_oferta = $_GET['cod_oferta'];
//$cod_categoria_com = $_GET['cod_categoria_com'];
$titulo_promocao = utf8_decode($_GET['titulo_promocao']);
$descricao = utf8_decode($_GET['descricao']);
$igredientes = utf8_decode($_GET['igredientes']);
//$foto = $_GET['foto'];
$valor_sem_desconto = $_GET['valor_sem_desconto'];
$valor_com_desconto = $_GET['valor_com_desconto'];
$validade = $_GET['validade'];
$validade_date = strftime('%Y-%m-%d', strtotime($validade));
$estoque = $_GET['estoque'];
//$cod_fornecedor = $_GET['cod_fornecedor'];
//$cod_categoria = $_GET['cod_categoria'];
$imagem = $_GET['imagem'];
$desconto = $_GET['desconto'];
$query=" UPDATE cadastra_oferta SET titulo_promocao='$titulo_promocao', descricao='$descricao', foto='$imagem', valor_sem_desconto='$valor_sem_desconto', valor_com_desconto='$valor_com_desconto', desconto='$desconto', validade_oferta='$validade_date', igredientes='$igredientes', qtd_estoque='$estoque'
WHERE cod_oferta='$cod_oferta' ";
if($con->query($query) === TRUE)
{
echo "success";
}
else
{
echo "error";
}
?>
Which updates until it’s blank.
It worked! Thanks @Anderson.
– Ramos
Thanks friend. Just don’t forget to preg_replace these variables there, friend, to avoid SQL Injection. Ex.: $decimal = preg_replace("/[ 0-9.]*/","", $_POST['decimal']); in the ex. above accepts decimal numbers. Blz?
– WebCraft
Only one addendum for those who want to use the answer code: exchange mysql_query (which has already been removed in PHP 7) for mysqli_query or the equivalent in PDO,
– KillerJack