Update mysql table with image

1

I am trying to upload an image however the table is not updated. already utilizei var_dump($arquivo) and return is correct, with filename + extension.

The code is in the header of my page and the form has no action, when I click on send the page is reloaded and the var_dump($arquivo) and the var_dump($linha) show the results normally, however the update in the table is not executed.

The code I am using is:

$buscartexto = $pdo->prepare("SELECT * FROM institucional WHERE id =:id");
$buscartexto->bindValue(":id", $id);
$buscartexto->execute();
$linha = $buscartexto->fetchAll(PDO::FETCH_ASSOC);

if (!empty($_POST['data']) && !empty($_POST['titulo']) && !empty($_POST['texto'])){

$data = trim($_POST['data']);
$titulo = trim($_POST['titulo']);
$texto = trim($_POST['texto']);
$caminho = 'uploads/';

$nomeArquivo = $_FILES["fotos"]["name"]; 
$tamanhoArquivo = $_FILES["fotos"]["size"];
$nomeTemporario = $_FILES["fotos"]["tmp_name"];
$arquivoArray= explode(".", $nomeArquivo);
$extensao = end($arquivoArray);
$arquivo = $caminho.md5(time().rand(3212, 12043)).'.'.$extensao;

if(move_uploaded_file($nomeArquivo, $arquivo)){
$atualizartexto = $pdo->prepare("UPDATE institucional SET data =:data, titulo =:titulo, texto =:texto, imagem =:imagem WHERE id =:id");
$atualizartexto->bindValue("id", $id);
$atualizartexto->bindValue(":data", $data);
$atualizartexto->bindValue(":titulo", $titulo);
$atualizartexto->bindValue(":texto", $texto);
$atualizartexto->bindValue(":imagem", $arquivo);
$atualizartexto->execute();

if ($atualizartexto->rowCount() > 0) {
echo '<div class="alert alert-success" role="alert">Texto atualizado com sucesso!</div>';
}
else {
echo '<div class="alert alert-danger" role="alert">Texto não foi atualizado!    </div>';
}
}
}
    
asked by anonymous 06.08.2015 / 16:39

1 answer

1

The error is in the path of the image ... Then do as follows:

<?php
$buscartexto = $pdo->prepare("SELECT * FROM institucional WHERE id =:id");
$buscartexto->bindValue(":id", $id);
$buscartexto->execute();
$linha = $buscartexto->fetchAll(PDO::FETCH_ASSOC);

if (!empty($_POST['data']) && !empty($_POST['titulo']) && !empty($_POST['texto'])){

    $data = trim($_POST['data']);
    $titulo = trim($_POST['titulo']);
    $texto = trim($_POST['texto']);
    $caminho = 'uploads/';

    $nomeArquivo = $_FILES["fotos"]["name"]; 
    $tamanhoArquivo = $_FILES["fotos"]["size"];
    $nomeTemporario = $_FILES["fotos"]["tmp_name"];
    $arquivoArray= explode(".", $nomeArquivo);
    $extensao = end($arquivoArray);
    $arquivo = $caminho.md5(time().rand(3212, 12043)).'.'.$extensao;

    if(!is_dir($caminho)){
        mkdir($caminho, 0777);
        chmod($caminho, 0777);
    }

    if(move_uploaded_file($_FILES["fotos"]["tmp_name"], $arquivo)){
        $atualizartexto = $pdo->prepare("UPDATE institucional SET data =:data, titulo =:titulo, texto =:texto, imagem =:imagem WHERE id =:id");
        $atualizartexto->bindValue("id", $id);
        $atualizartexto->bindValue(":data", $data);
        $atualizartexto->bindValue(":titulo", $titulo);
        $atualizartexto->bindValue(":texto", $texto);
        $atualizartexto->bindValue(":imagem", $arquivo);
        $atualizartexto->execute();

        if ($atualizartexto->rowCount() > 0) {
            echo '<div class="alert alert-success" role="alert">Texto atualizado com sucesso!</div>';
        }
        else {
            echo '<div class="alert alert-danger" role="alert">Texto não foi atualizado!    </div>';
        }
    } else {
        echo "O arquivo não foi enviado.";  
    }
}
?>
    
06.08.2015 / 18:47