Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Memasukkan Data Imej BLOB dengan betul ke dalam MySQL Menggunakan PHP?

Bagaimana untuk Memasukkan Data Imej BLOB dengan betul ke dalam MySQL Menggunakan PHP?

DDD
Lepaskan: 2024-12-13 18:03:11
asal
244 orang telah melayarinya

How to Properly Insert BLOB Image Data into MySQL Using PHP?

Cara Memasukkan Gumpalan dalam Pangkalan Data MySQL dengan PHP

Penerangan Masalah

Apabila cuba menyimpan imej dalam MySQL, pengguna mungkin menghadapi masalah di mana data imej tidak disimpan seperti yang diharapkan, walaupun ia keluar dengan betul apabila dicetak. Ini kerana fungsi PHP file_get_contents() dianggap sebagai rentetan dalam pertanyaan SQL dan tidak dilaksanakan.

Penyelesaian 1: Penggabungan Eksplisit

Satu penyelesaian adalah untuk menggabungkan hasil file_get_contents() dengan rentetan pertanyaan SQL, membolehkannya dilaksanakan sebagai sebahagian daripada pertanyaan. Kod berikut menggambarkan pendekatan ini:

$sql = "INSERT INTO ImageStore(ImageId,Image) VALUES('$this->image_id', '" . file_get_contents($tmp_image) . "')";
Salin selepas log masuk

Penyelesaian 2: Sanitasi dan Melarikan Aksara

Untuk mengelakkan kelemahan suntikan SQL, adalah penting untuk melarikan data binari yang mengandungi sebarang aksara khas sebelum memasukkannya ke dalam pangkalan data. Ini boleh dicapai menggunakan fungsi mysql_escape_string(). Kod yang dikemas kini ialah:

$sql = "INSERT INTO ImageStore(ImageId,Image) VALUES('$this->image_id', '" . mysql_escape_string(file_get_contents($tmp_image)) . "')";
Salin selepas log masuk

Penyelesaian 3: Mengelakkan Penyimpanan Pangkalan Data untuk Imej

Sebagai amalan terbaik, adalah disyorkan untuk mengelak daripada menyimpan data binari yang besar, seperti imej, terus dalam MySQL pangkalan data. Sebaliknya, pertimbangkan untuk menyimpannya dalam fail berasingan dan merujuk laluannya dalam pangkalan data. Pendekatan ini meningkatkan prestasi pangkalan data dan fleksibiliti.

Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Data Imej BLOB dengan betul ke dalam MySQL Menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan