0
I have a UPDATE problem with the database.
I have a form that sends the data to a php file, which would update a table of the MYSQL database.
However, update is not performing the insertion and mysqli_affected_rows is returning a value to me (-1).
I will post the form code and php file.
<?php
session_start();
//CHAMANDO O ARQUIVO DE CONEXÃO COM O BANCO DE DADOS
require_once "conexao/conexao.php";
//CHAMANDO O ARQUIVO DE CONEXÃO COM O BANCO DE DADOS
require_once "banco-de-dados/tela-atividade-extra/create.php";
?>
<!DOCTYPE html>
<html>
<head>
<title>Sistema - JCA</title>
<meta http-equiv="X-UA-Compatible" content="IE-edge">
<meta name="viewport" content="width=devide-width, initial-scale=1">
<meta charset="UTF-8">
<link href="css/estilo-atividade-extra.css" rel="stylesheet"> <!-- ARQUIVO CSS DA PÁGINA -->
<link href="_bootstrap-4.1.1/css/bootstrap.min.css" rel="stylesheet"> <!-- ARQUIVO CSS DO BOOTSTRAP -->
</head>
<body>
<div class="container-fluid">
<header>
<h1 class="alinhar-texto-no-centro">Atividade Extra</h1>
<p class="alinhar-texto-no-centro"><i>"Uma mente que se abre a uma nova idéia jamais voltará ao seu tamanho original"</i></p>
</header>
<div class="row">
<div class="col-lg-8 col-lg-offset-2" id="formulario">
<!-- DIV COM O FORMULÁRIO DE LOGIN -->
<form action="banco-de-dados/tela-atividade-extra/update.php" method="post" id="formulario-login-sistema">
<div class="form-group col-lg-4">
<label for="colaborador">Colaborador:</label>
<select name="colaborador" id="colaborador" class="input form-control">
<option><?php echo utf8_decode($_SESSION["nome"]) ?></option>
</select>
</div>
<div class="form-group col-lg-7 col-lg-offset-1">
<label for="atividade">Qual será a atividade ?</label>
<select name="atividade" id="atividade" class="input form-control">
<?php
while($registros = $query_pegar_atividades -> fetch_assoc())
{
$ativ = utf8_decode($registros['ATIVIDADE']);
echo "<option>$ativ</option>";
}
?>
</select>
</div>
<!-- LINHA -->
<div class="form-group col-lg-4">
<label for="data-vencimento">Qual é a data de vencimento:</label>
<input type="date" name="data-vencimento" id="data-vencimento" class="input form-control">
</div>
<div class="form-group col-lg-4 col-lg-offset-1">
<label for="designou-atividade">Quem designou a atividade?</label>
<select name="designou-atividade" id="designou-atividade" class="input form-control">
<option>CLIENTE</option>
<?php
while($registros = $query_pegar_designador -> fetch_assoc())
{
$usu = utf8_decode($registros['usuario']);
echo "<option>$usu</option>";
}
?>
</select>
</div>
<!-- LINHA -->
<div class="col-lg-12 alinhar-texto-no-centro" id="selecionar-empresas">
<h3 class="alinhar-texto-no-centro">Selecionar Empresa</h3>
<!-- CAMPO CODIGO DA EMPRESA -->
<div class="form-group col-lg-2">
<label for="codigo-empresa">COD</label>
<select name="codigo-empresa" id="codigo-empresa" class="input form-control">
<?php
while($registros = $query_pegar_cod -> fetch_assoc())
{
$emp = $registros['COD'];
echo "<option>$emp</option>";
}
?>
</select>
</div>
<!-- CAMPO EMPRESA -->
<div class="form-group col-lg-5">
<label for="empresa">Empresa</label>
<select name="empresa" id="empresa" class="input form-control">
<?php
while($registros = $query_pegar_empresa -> fetch_assoc())
{
$empr = utf8_decode($registros['EMPRESAS']);
echo "<option>$empr</option>";
}
?>
</select>
</div>
<!-- CAMPO TRIBUTAÇÃO -->
<div class="form-group col-lg-5">
<label for="tributacao">Tributação</label>
<select name="tributacao" id="tributacao" class="input form-control">
<?php
while($registros = $query_pegar_tributacao -> fetch_assoc())
{
$empre = utf8_decode($registros['TRIBUTACAO']);
echo "<option>$empre</option>";
}
?>
</select>
</div>
<!-- CAMPO POSSUIR ARQUIVOS -->
<div class="form-group col-lg-3 col-lg-offset-9" id="lista-empresas" style="display:inline">
<div class="form-inline">
<div class="radio">
<label>
<input type="radio" name="empresas-filtro" id="empresas-filtro" value="sim" class="form-control" checked>Minhas
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="empresas-filtro" id="empresas-filtro" value="nao" class="form-control">Todas
</label>
</div>
</div>
</div>
</div>
<!-- LINHA -->
<!-- CAMPO DETALHES -->
<div class="form-group col-lg-12" id="destalhes">
<label for="destalhes-da-atividade">Detalhes sobre a atividade</label>
<textarea class="form-control" name="destalhes-da-atividade" id="destalhes-da-atividade" style="resize:none" maxlength="500" rows="10" placeholder="Descreva detalhes sobre a atividade">
</textarea>
</div>
<!-- LINHA -->
<!-- CAMPO QUANTIDADE DE PROCESSOS -->
<div class="form-group col-lg-3">
<label for="quantidade-processos">Quantidade de Processos: </label>
<input class="form-control" type="number" name="quantidade-processos" id="quantidade-processos" maxlength="40" required>
</div>
<!-- CAMPO POSSUIR ARQUIVOS -->
<div class="form-group col-lg-5 col-lg-offset-4" id="possui-arquivo" style="display:inline">
<label for="possui-arquivo">Possui Arquivo ?</label>
<div class="form-inline">
<div class="radio">
<label>
<input type="radio" name="possui-arquivo" id="opcao-radio" value="S" class="form-control" checked> SIM
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="possui-arquivo" id="possui-arquivo" value="N" class="form-control"> NÃO
</label>
</div>
</div>
</div>
<!-- LINHA -->
<div class="col-lg-3 col-lg-offset-9 form-group">
<input name="salvar-atividade-extra" id="salvar-atividade-extra" class="btn btn-sm btn-primary btn-block" type="submit" value="Salvar">
</div>
</form>
</div>
</div>
</div>
<script src="_jquery/jquery-3.2.1.min.js"></script> <!-- ARQUIVO JQUERY -->
</body> <!-- FIM DO BODY -->
</html> <!-- FIM DO HTML -->
<!-- Arquivo PHP de inserção no banco de dados -->
<?php
//CHAMANDO O ARQUIVO DE CONEXÃO COM O BANCO DE DADOS
require_once "../../conexao/conexao.php";
session_start();
date_default_timezone_set('Etc/GMT+3');
setlocale(LC_ALL, "", "pt_BR.utf-8");
$departamento_usuario = $_SESSION["departamento-usuario"] ;
$empresa_origem_usuario = $_SESSION["empresa-origem-usuario"];
if(isset($_POST["salvar-atividade-extra"])) //REALIZA A AÇÃO SE O BOTÃO "ENVIAR" FOR ACIONADO
{
//PREENCHE AS VARIÁVEIS COM OS DADOS VINDOS DOS CAMPOS DO FORMULÁRIO
$colaborador = utf8_decode($_POST["colaborador"]);
$atividade = utf8_decode($_POST["atividade"]);
$data_vencimento = date('d-m-Y', strtotime($_POST["data-vencimento"]));
$designou_atividade = utf8_decode($_POST["designou-atividade"]);
$codigo_empresa = $_POST["codigo-empresa"];
$empresa = utf8_decode($_POST["empresa"]);
$tributacao = utf8_decode($_POST["tributacao"]);
$empresas_filtro = utf8_decode($_POST["empresas-filtro"]);
$destalhes_atividade = utf8_decode($_POST["destalhes-da-atividade"]);
$quantidade_processos = filter_input(INPUT_POST, 'quantidade-processos', FILTER_SANITIZE_NUMBER_INT);
$possui_arquivos = utf8_decode($_POST["possui-arquivo"]);
//VALORES FIXOS
//COMPARANDO A DATA DO CAMPO COM A DATA ATUAL
$hoje = date("d-m-y");
if($data_vencimento < $hoje)
{
$status = "VENCIDO";
}
else
{
$status = "PENDENTE";
}
//CONFIGURANDO A VARIÁVEL CONFERENCIA
if($possui_arquivos == "S")
{
$conferencia = "A CONFERIR";
}
else
{
$conferencia = "NÃO POSSUI ARQUIVO";
}
}
$update_one = "INSERT INTO tbl_atividades(COD, EMPRESAS, TRIBUTACAO, RESPONSAVEL, DESIGNADOR, TIPO_ATIVIDADE, DT_VENCIMENTO, STATUS, DETALHES, EXTRA_URGENTE_COMUM, VISUALIZADO, ATUALIZADO, ARQUIVO, DEPARTAMENTO, EMPRESA_ORIGEM, CONFERENCIA, QNTD_PROCESSOS)
VALUES('$codigo_empresa','$empresa','$tributacao','$colaborador','$designou_atividade','$atividade','$data_vencimento','$status','$destalhes_atividade','E','S','S','$possui_arquivos','$departamento_usuario','$empresa_origem_usuario','$conferencia','$quantidade_processos')";
$update_atividades_extras = mysqli_query($conecta, $update_one);
$affected_rows = mysqli_affected_rows($conecta);
if($affected_rows > 0)
{
header("location:../../form-atividade-extra.php");
}
print_r($update_one);
?>
If you take the SQL statement from your
$update_one
and run directly in the database, does any error occur ? Also add information about the table to better understand the situation.– 8biT
I added the image of the table where I need to enter the data.
– Gato de Schrödinger
Ok.. and tried to run straight into the bank the instruction ? Gave error ?
– 8biT
I managed to solve, 8bit. It was a problem with the dates. This database (which is now in Mysql) was already in ACESS. A migration was made to Mysql. Then it came up with some glitches. The bank dates, for example, are in the format (y:d:m) and I was inserting it in the format (d:m:y). Then there was an incompatibility at the time of the Insert, in the comparison between them. But still, thanks for the help.
– Gato de Schrödinger