Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara mengunggah gambar ke database MySQL menggunakan kode PHP

Pertama, Anda harus memeriksa apakah kolom gambar Anda bertipe BLOB !

Saya tidak tahu apa-apa tentang tabel SQL Anda, tetapi jika saya akan mencoba membuat tabel saya sendiri sebagai contoh.

Kami mendapatkan bidang id (int), image (gumpalan) dan image_name (varchar(64)).

Jadi kodenya akan terlihat seperti ini (anggap ID selalu '1' dan mari gunakan mysql_query ini):

$image = addslashes(file_get_contents($_FILES['image']['tmp_name'])); //SQL Injection defence!
$image_name = addslashes($_FILES['image']['name']);
$sql = "INSERT INTO `product_images` (`id`, `image`, `image_name`) VALUES ('1', '{$image}', '{$image_name}')";
if (!mysql_query($sql)) { // Error handling
    echo "Something went wrong! :("; 
}

Anda melakukan kesalahan dalam banyak hal. Jangan gunakan fungsi mysql - mereka tidak digunakan lagi! Gunakan PDO atau MySQLi . Anda juga harus mempertimbangkan untuk menyimpan lokasi file di disk. Menggunakan MySQL untuk menyimpan gambar dianggap sebagai Ide Buruk™. Menangani tabel SQL dengan data besar seperti gambar bisa menjadi masalah.

Juga formulir HTML Anda di luar standar. Seharusnya terlihat seperti ini:

<form action="insert_product.php" method="POST" enctype="multipart/form-data">
    <label>File: </label><input type="file" name="image" />
    <input type="submit" />
</form>

Catatan sampingan:

Saat menangani file dan menyimpannya sebagai BLOB, data harus di-escape menggunakan mysql_real_escape_string() , jika tidak maka akan mengakibatkan kesalahan sintaks.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - paksa untuk tidak menggunakan cache untuk menguji kecepatan kueri

  2. Contoh Spring Boot CRUD Dengan MySQL

  3. Hitung persentil dari frekuensi di MySQL

  4. Ekstraksi substring MySQL menggunakan pembatas

  5. Bisakah saya menggunakan kembali bidang terhitung dalam kueri SELECT?