Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Nie można przesłać i zapisać obrazu w bazie danych za pomocą php

Potrzebujesz funkcji do wysłania zapytania, w przeciwnym razie po prostu uzupełniłeś ciąg:to:

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

powinno następować:

mysqli_query($con, $insert);

Ostrzeżenia są spowodowane wieloma problemami z Twoim kodem. Najpierw sprawdzasz, czy plik został przesłany w niewłaściwy sposób:to

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

Zawsze ustawi $file zmienna, nawet jeśli żaden plik nie został wybrany w formularzu, co prowadzi do tego, że nigdy nie zostanie wykonana instrukcja if:

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

i zawsze wykonywać to, co jest w bloku else, co powoduje błędy, ponieważ wspomniane funkcje, które są zawarte w tym bloku else, nie są w stanie operować na żadnym pliku.

Dlatego proste sprawdzenie poprawności przesyłania pliku rozwiąże problem:jednym ze sposobów, aby to zrobić, byłoby najpierw usunięcie tego, co jest nieprzydatne

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

a następnie zmień to:

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

do tego:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lista użytkowników PHP z bazy danych SQL w tabeli

  2. Wyniki łączenia SQL w obiekt w codeigniter

  3. MySQL importuje tylko jeden wiersz z CSV

  4. Gdy pętla PHP get_result nie działa

  5. Docker:Połącz wiele obrazów