Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memasukkan Imej dengan betul ke dalam Pangkalan Data MySQL Menggunakan PHP?
Masalah:
Anda sedang cuba menyimpan imej dalam pangkalan data MySQL tetapi program ini tidak memasukkan data imej.
Petikan Disediakan Kod:
$file = $_FILES['image']['tmp_name']; ... if ($image_query = mysql_query ("insert into product_images values (1,'$image_name',$image )")) { ... }
Mesej Ralat:
Anda mempunyai ralat dalam sintaks SQL anda; semak manual yang sepadan dengan versi pelayan MySQL anda untuk sintaks yang betul.
Penyelesaian:
1. Pastikan Lajur Imej adalah daripada Jenis BLOB:
Sahkan bahawa lajur yang anda gunakan untuk menyimpan imej adalah daripada jenis data BLOB.
2. Bersihkan Data Input:
Gunakan fungsi MySQLi untuk mengendalikan pertanyaan SQL dan melepaskan aksara khas dalam data input untuk mengelakkan suntikan SQL.
Kod Dibetulkan (Andaikan ID Sentiasa '1' ):
$image = addslashes(file_get_contents($_FILES['image']['tmp_name'])); $image_name = addslashes($_FILES['image']['name']); $query = "INSERT INTO product_images (id, image, image_name) VALUES ('1', '{$image}', '{$image_name}')"; if (mysqli_query($conn, $query)) { ... }
3. Kemas kini Borang HTML:
Borang HTML hendaklah dikemas kini untuk menggunakan atribut enctype yang betul untuk memuat naik fail:
<form action="insert_product.php" method="POST" enctype="multipart/form-data"> <input type="file" name="image" /> <input type="submit" /> </form>
4. Simpan Fail pada Cakera (Pilihan):
Pertimbangkan untuk menyimpan fail imej pada cakera dan bukannya menggunakan pangkalan data MySQL untuk jumlah data yang besar. Ini boleh meningkatkan prestasi dan mengurangkan beban pangkalan data.
Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Imej dengan betul ke dalam Pangkalan Data MySQL Menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!