Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Berjaya Memasukkan Gumpalan Imej ke dalam Pangkalan Data MySQL Menggunakan PHP?

Bagaimanakah Saya Boleh Berjaya Memasukkan Gumpalan Imej ke dalam Pangkalan Data MySQL Menggunakan PHP?

Patricia Arquette
Lepaskan: 2024-12-16 00:39:23
asal
935 orang telah melayarinya

How Can I Successfully Insert Image Blobs into a MySQL Database Using PHP?

Masukkan Gumpalan dalam Pangkalan Data MySql dengan PHP

Gambaran Keseluruhan Masalah

Penyelesaian

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) . "')";
Salin selepas log masuk

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)) . "')";
Salin selepas log masuk

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!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan