1
resposta

Não insere no banco de dados , mas aparece a mensagem de sucesso.

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?

1 resposta

Oi Adriano, tudo bom?

Faz a seguinte alteracao na sua funcao:

function alteraComentario($conexao, $id, $nome, $comentario, $data) {
    $query = "update comentarios set nome = '{$nome}', comentario = '{$comentario}', data= '{$data}' where id = '{$id}'";
    $result= mysqli_query($conexao, $query);

    var_dump($query);
    var_dump(mysqli_errors($conexao));
    var_dump($result);
    die();
    return $result;
}

E compartilha com a gente o resultado =)

Assim, a gente consegue ver qual foi exatamente a query executada no banco, os erros que ela pode ter gerado e o resultado. Desse jeito fica mais facil dar um posicionalmente mais concreto e acertivo.

Aguardo retorno.

Abraco!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software