Memasukkan Gumpalan ke dalam Pangkalan Data MySQL dengan PHP
Untuk menyimpan data binari dengan cekap, seperti imej, dalam pangkalan data MySQL menggunakan PHP, adalah penting untuk elakkan perangkap biasa.
Perangkap: Percubaan untuk memasukkan hasil panggilan fungsi terus ke dalam pertanyaan MySQL.
$sql = "INSERT INTO ImageStore(ImageId,Image) VALUES('$this->image_id','file_get_contents($tmp_image)')";
Penyelesaian 1: Gabungkan hasil panggilan fungsi secara eksplisit.
$sql = "INSERT INTO ImageStore(ImageId,Image) VALUES('$this->image_id','" . file_get_contents($tmp_image) . "')";
Perangkap: Gagal membersihkan data binari sebelum memasukkannya ke dalam a pertanyaan.
$sql = "INSERT INTO ImageStore(ImageId,Image) VALUES('$this->image_id','" . file_get_contents($tmp_image) . "')";
Penyelesaian 2: Melarikan diri daripada data binari menggunakan mysql_escape_string.
$sql = "INSERT INTO ImageStore(ImageId,Image) VALUES('$this->image_id','" . mysql_escape_string(file_get_contents($tmp_image)) . "')";
Pitfall: Menyimpan data binari yang besar terus dalam pangkalan data boleh mengembang pangkalan data.
Penyelesaian 3: Pertimbangkan kaedah storan alternatif untuk data binari, seperti sistem storan fail.
Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Data Binari (Blob) dengan Selamat ke MySQL Menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!