Insertion of IMG in Mysql

Asked

Viewed 37 times

1

The code I’m using is giving some error in which I can’t identify;

If I select image X the upload happens normally, however if I select image Y the system simply does not insert and does not give any error.

//Edit

[out of nowhere the blessed began to work!]

Only now the inserted product does not take the last inserted product ID, it simply copies the first

<?php
if(isset($_POST['submitProduto'])){

//Caminho para salvar
$caminho = "uploads/";

$produto = trim($_POST["produto"]);
$informacao = trim($_POST["informacao"]);
$categoria = trim($_POST['categoria']);
$subCategoria = $_POST['subCategoria'];

// Verifica Checkbox
if (isset($_POST['destaque'])) {
    $destaque = 1;
}
else {
    $destaque = 0;
}


//Inseri imagem
$sqlInsere = $database::query("INSERT INTO produtos (nome,descricao,categoria,destaque, sub_categoria) VALUES ('".$produto."', '".$informacao."','".$categoria."','".$destaque."', '".$subCategoria."')");

$sqlUltimoID = $database::query("SELECT * FROM produtos ORDER BY id LIMIT 0 , 1");
$rowUltimoID = $database::row($sqlUltimoID);

// lastInserId
$last = $rowUltimoID['id'];


for ($i = 0; $i < count($_FILES["fotos"]["name"]); $i++) {

    $nomeArquivo = $_FILES["fotos"]["name"][$i];
    $tamanhoArquivo = $_FILES["fotos"]["size"][$i];
    $nomeTemporario = $_FILES["fotos"]["tmp_name"][$i];

    if (!empty($nomeArquivo)) {

        $arquivoArray= explode(".", $nomeArquivo);
        $extensao = end($arquivoArray);

        $arquivo = $caminho.md5(time().rand(3212, 12043)).'.'.$extensao;

            if(move_uploaded_file($nomeTemporario, $arquivo)){
                $database::query("INSERT INTO produtos_fotos (id_produto, imagem) VALUES ('".$last."', '".$arquivo."')");
            } else {
                echo "Não foi possível enviar a imagem";    
            }
    }
}

$message = '<div class="alert alert-success text-center">Produtos cadastrados com sucesso!</div>';

}
?>

1 answer

2


Change this line:

$sqlUltimoID = $database::query("SELECT * FROM produtos ORDER BY id
LIMIT 0 , 1"); $rowUltimoID = $database::row($sqlUltimoID);

To:

$sqlUltimoID = $database::query("SELECT * FROM produtos ORDER BY id DESC LIMIT 0 , 1");
$rowUltimoID = $database::row($sqlUltimoID);

With this, you will only search for the last ID to insert the images

  • worked here!

Browser other questions tagged

You are not signed in. Login or sign up in order to post.