Semak Isu Interpolasi Pembolehubah
Dalam pertanyaan anda, anda menggunakan fungsi file_get_contents() untuk mendapatkan semula data imej, tetapi anda tidak secara eksplisit menggabungkan hasilnya kepada rentetan pertanyaan. Akibatnya, pertanyaan mengandungi rentetan "file_get_contents($tmp_image)" dan bukannya data imej sebenar.Penyelesaian 1: Penggabungan Eksplisit
Untuk menggabungkan imej data dengan betul, anda perlu melompat keluar dari rentetan dan melakukan sesuatu secara eksplisit:$sql = "INSERT INTO ImageStore(ImageId,Image) VALUES('$this->image_id','" . file_get_contents($tmp_image) . "')";
Kendalikan Sanitasi
Jika data imej binari mengandungi sebarang apostrof ('), ia boleh memecahkan pertanyaan SQL. Untuk mengelakkan ini, anda harus menjalankan data melalui fungsi mysql_escape_string untuk sanitasi:$sql = "INSERT INTO ImageStore(ImageId,Image) VALUES('$this->image_id','" . mysql_escape_string(file_get_contents($tmp_image)) . "')";
Pertimbangkan Storan Alternatif
Menyimpan data binari yang besar (seperti imej) dalam Pangkalan data MySQL boleh menjadikannya besar. Jika boleh, pertimbangkan untuk menggunakan sistem storan fail yang berasingan untuk imej.Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Berjaya Memasukkan Gumpalan Imej ke dalam Pangkalan Data MySQL Menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!