Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Não é possível fazer upload e armazenar a imagem no banco de dados usando php


Você precisa de uma função para enviar sua consulta, caso contrário, você acabou de preencher uma string:this:
$insert = "INSERT INTO image(name,picture) VALUES ('$image_name','$image')";

deve ser seguido por isso:
mysqli_query($con, $insert);

Os avisos são causados ​​por vários problemas com seu código. Primeiro você está verificando se o arquivo foi carregado de forma errada:isso
if(isset($_FILES['image'])){
    $file = $_FILES['image']['tmp_name'];
}

Sempre definirá um $file variável, mesmo que nenhum arquivo tenha sido selecionado no formulário, levando, portanto, a nunca executar esta instrução if:
if(!isset($file)){
    echo "Please select an image";
}

e sempre executar o que está no bloco else, o que causa os erros, pois as funções que você mencionou, que estão contidas neste bloco else, não podem operar em nenhum arquivo.

Portanto, basta verificar o upload do arquivo corretamente para resolver o problema:uma maneira de fazer isso seria primeiro removê-lo, o que é inútil
if(isset($_FILES['image'])){
    $file = $_FILES['image']['tmp_name'];
}

e depois altere isso:
if(!isset($file)){
    echo "Please select an image";
}

para isso:
if(!isset($_FILES['image']['tmp_name'])){
    echo "Please select an image";
}