집 >데이터 베이스 >MySQL 튜토리얼 >내 MySQL BLOB 이미지가 올바르게 표시되지 않는 이유는 무엇입니까?
MySQL에서 BLOB으로 저장된 이미지 표시
데이터베이스에서 BLOB으로 저장된 이미지를 검색하려고 하면 올바르게 표시하는 데 어려움이 있습니다. 코드는 데이터를 검색하여 헤더를 image/jpeg로 설정하고 이미지를 에코하는 스크립트에 전달합니다. 그러나 브라우저에서 이미지 아이콘은 관찰되지만 이미지 자체는 관찰되지 않습니다.
이 문제를 해결하려면 수정된 접근 방식을 사용하는 것이 좋습니다.
데이터베이스에 이미지 삽입
// 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();
다음에서 이미지 검색 및 표시 데이터베이스
// 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']) . '" />';
이 수정된 접근 방식을 사용하면 MySQL에 BLOB으로 저장된 이미지를 효과적으로 표시할 수 있습니다. 이미지 매개변수를 바인딩하고 HTML 요소 내에서 이를 base64로 인코딩하면 이미지 데이터를 올바르게 검색하고 표시할 수 있습니다.
위 내용은 내 MySQL BLOB 이미지가 올바르게 표시되지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!