Memasukkan imej ke dalam pangkalan data MySQL menggunakan PHP boleh menjadi rumit. Satu kesilapan biasa ialah membenamkan data binari secara langsung menggunakan file_get_contents(). Melakukannya menyebabkan rentetan yang mewakili panggilan fungsi disimpan dan bukannya data imej sebenar.
Untuk memasukkan data imej dengan betul, anda perlu menggabungkan hasil daripada file_get_contents(). Ini boleh dilakukan dengan melompat keluar dari rentetan dan menambahkan nilai secara eksplisit:
$sql = "INSERT INTO ImageStore(ImageId,Image) VALUES('$this->image_id','" . file_get_contents($tmp_image) . "')";
Data binari mungkin mengandungi aksara khas yang boleh membatalkan pertanyaan SQL. Untuk mengelakkan ini, elakkan data menggunakan mysql_escape_string():
$sql = "INSERT INTO ImageStore(ImageId,Image) VALUES('$this->image_id','" . mysql_escape_string(file_get_contents($tmp_image)) . "')";
Menyimpan imej besar dalam pangkalan data boleh membawa kepada isu prestasi. Pertimbangkan untuk menggunakan sistem storan fail yang berasingan, seperti Amazon S3 atau sistem fail dan sebaliknya menyimpan laluan imej atau rujukan dalam pangkalan data.
Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Gumpalan Imej dengan Selamat ke dalam Pangkalan Data MySQL menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!