sql >> Databasteknik >  >> RDS >> Mysql

Det går inte att ladda upp och lagra bilden i databasen genom att använda php

Du behöver en funktion för att skicka din fråga, annars har du bara fyllt i en sträng:denna:

$insert = "INSERT INTO image(name,picture) VALUES ('$image_name','$image')";

bör följas av detta:

mysqli_query($con, $insert);

Varningarna orsakas av flera problem med din kod. Först kontrollerar du om filen har laddats upp på fel sätt:detta

if(isset($_FILES['image'])){
    $file = $_FILES['image']['tmp_name'];
}

Kommer alltid att ställa in en $file variabel, även om ingen fil har valts i formuläret, vilket leder till att man aldrig kör denna if-sats:

if(!isset($file)){
    echo "Please select an image";
}

och att alltid köra det som finns i else-blocket istället, vilket orsakar felen, eftersom funktionerna du nämnde, som finns i detta else-block, inte kan fungera på någon fil.

Därför löser du problemet genom att helt enkelt kontrollera filuppladdningen:ett sätt att göra detta är att först ta bort detta, vilket är oanvändbart

if(isset($_FILES['image'])){
    $file = $_FILES['image']['tmp_name'];
}

och ändra sedan detta:

if(!isset($file)){
    echo "Please select an image";
}

till detta:

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


  1. Alternativ för django.db.close_connection()

  2. Villkorlig WHERE-sats med CASE-sats i Oracle

  3. Vad är en bra gratis RDBMS-lösning för ett litet webbprojekt som kan växa sig stort om det lyckas?

  4. MySQL-kodningsproblem - Olika resultat från Windows till Linux