O cenário é o seguinte: Os campos são: usuário, comentário e data. NO banco o campo data está como timestamp: Eu pego a data do sistema através da função:
$socket = fsockopen('udp://pool.ntp.br', 123, $err_no, $err_str, 1);
if ($socket)
{
if (fwrite($socket, chr(bindec('00'.sprintf('%03d', decbin(3)).'011')).str_repeat(chr(0x0), 39).pack('N', time()).pack("N", 0)))
{
stream_set_timeout($socket, 1);
$unpack0 = unpack("N12", fread($socket, 48));
echo date('Y-m-d H:i:s', $unpack0[7]);
}
fclose($socket);
}
E está funcionando no adicionar, mas no alterar não. Ele aparece a mensagem de sucesso que foi alterado, e além disso ele zerou todos os registros da data.
A função que eu fiz eu peguei do banco-produto.php do curso de vocês, só alterei os campos necessários:
function alteraComentario($conexao, $id, $nome, $comentario, $data) {
$query = "update comentarios set nome = '{$nome}', comentario = '{$comentario}', data= '{$data}' where id = '{$id}'";
return mysqli_query($conexao, $query);
}
altera-produto.php
if(alteraComentario($conexao, $id, $nome, $comentario, $data)) { ?>
<p class="text-success">O comentário <?= $nome; ?>, <?= $comentario; ?> alterado com sucesso!</p>
<?php } else {
$msg = mysqli_error($conexao);
?>
<p class="text-danger">O comentário de <?= $nome; ?> não foi alterado: <?= $msg ?></p>
<?php
}
?>
O que pode ser?