Rumah >pangkalan data >tutorial mysql >Mengapa Imej BLOB MySQL Saya Tidak Dipaparkan dengan Betul?
Memaparkan Imej yang Disimpan sebagai BLOB dalam MySQL
Berusaha untuk mendapatkan semula imej yang disimpan sebagai BLOB dalam pangkalan data, anda menghadapi kesukaran untuk memaparkannya dengan betul. Kod anda mendapatkan semula data dan menghantarnya kepada skrip yang menetapkan pengepala kepada imej/jpeg dan menggemakan imej. Walau bagaimanapun, anda memerhati ikon imej tetapi bukan imej itu sendiri dalam penyemak imbas.
Untuk menyelesaikan isu ini, anda dicadangkan menggunakan pendekatan yang diubah suai:
Masukkan Imej ke dalam Pangkalan Data
// Retrieve image data from a temporary file $image = file_get_contents($_FILES['images']['tmp_name']); // Prepare an SQL statement and bind the image parameter $query = "INSERT INTO products (image) VALUES(?)"; $stmt = $db->prepare($query); $stmt->bind_param('s', $image); // Execute the statement $stmt->execute();
Dapatkan dan Paparkan Imej daripada Pangkalan data
// Prepare an SQL statement and bind the ID parameter $sql = "SELECT * FROM products WHERE id = ?"; $stmt = $db->prepare($sql); $stmt->bind_param('s', $id); // Execute the statement and retrieve the result $stmt->execute(); $result = $stmt->get_result(); $row = $result->fetch_array(); // Encode the image data as base64 and embed it in an HTML element echo '<img src="data:image/jpeg;base64,' . base64_encode($row['image']) . '" />';
Pendekatan yang disemak ini seharusnya membolehkan anda memaparkan imej yang disimpan sebagai BLOB dalam MySQL dengan berkesan. Dengan mengikat parameter imej dan mengekodnya sebagai base64 dalam elemen HTML, anda boleh mendapatkan dan mempersembahkan data imej dengan betul.
Atas ialah kandungan terperinci Mengapa Imej BLOB MySQL Saya Tidak Dipaparkan dengan Betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!