Rumah >pangkalan data >tutorial mysql >Mengapa Imej BLOB MySQL Saya Tidak Dipaparkan dengan Betul?

Mengapa Imej BLOB MySQL Saya Tidak Dipaparkan dengan Betul?

Patricia Arquette
Patricia Arquetteasal
2024-12-29 15:28:11977semak imbas

Why Is My MySQL BLOB Image Not Displaying Correctly?

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!

Kenyataan:
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