Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Không thể tải lên và lưu trữ hình ảnh vào cơ sở dữ liệu bằng php

Bạn cần một hàm để gửi truy vấn của mình, nếu không, bạn chỉ điền vào một chuỗi:this:

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

nên được theo sau bởi sau:

mysqli_query($con, $insert);

Các cảnh báo do nhiều vấn đề với mã của bạn. Trước tiên, bạn đang kiểm tra xem tệp có được tải lên sai cách hay không:this

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

Sẽ luôn đặt một $file biến, mặc dù không có tệp nào được chọn vào biểu mẫu, do đó không bao giờ thực thi câu lệnh if này:

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

và luôn thực thi những gì trong khối else thay vào đó, điều này gây ra lỗi, vì các hàm bạn đã đề cập, nằm trong khối else này, không thể hoạt động trên bất kỳ tệp nào.

Do đó, chỉ cần kiểm tra tệp tải lên một cách chính xác sẽ giải quyết được vấn đề:một cách để thực hiện việc này là trước tiên hãy xóa tệp này, hành động này không hữu ích

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

và sau đó thay đổi điều này:

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

về điều này:

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. Cách đặt Chuỗi kết nối với Khung thực thể

  2. Thiết kế cơ sở dữ liệu cho lượng dữ liệu rất lớn

  3. MySQL, tôi nên kết nối hay kết nối khi cần thiết?

  4. Kỹ thuật tốt nhất để lưu vào bộ nhớ đệm kết quả từ các truy vấn không thường xuyên thay đổi

  5. Đặt khóa ngoại bigInteger thành bigIncrements trong Laravel 5.4