반응형
MySQL 데이터베이스에서 이미지를 검색하고 HTML 태그에 표시하는 방법
저는 phphmyadmin을 사용하여 테이블로 MySQL 데이터베이스를 만들었습니다.저는 jpeg 파일을 보유하기 위해 BLOB 열로 이 테이블을 만들었습니다.
php 변수와 관련하여 문제가 있습니다.$result
여기서.
지금까지의 내 코드: (catalog.php):
<body>
<?php
$link = mysql_connect("localhost", "root", "");
mysql_select_db("dvddb");
$sql = "SELECT dvdimage FROM dvd WHERE id=1";
$result = mysql_query("$sql");
mysql_close($link);
?>
<img src="" width="175" height="200" />
</body>
PHP의 변수 $결과를 HTML로 가져오려면 어떻게 해야 합니까?<img>
꼬리표?
그럴수는 없어요.이미지 데이터를 반환하려면 다른 php 스크립트를 만들어야 합니다(예: getImage.php).카탈로그를 변경합니다.php to:
<body>
<img src="getImage.php?id=1" width="175" height="200" />
</body>
그러면 이미지를 가져옵니다.php는
<?php
$link = mysqli_connect("localhost", "root", "", "dvddb");
$sql = "SELECT dvdimage FROM dvd WHERE id=?";
$result = mysqli_execute_query($link, $sql, [$_GET['id']]);
$image = mysqli_fetch_column($result);
header("Content-type: image/jpeg");
echo $image;
기술적으로는 데이터 URI를 사용하여 img 태그에 이미지 데이터를 넣을 수 있습니다.
<img src="data:image/jpeg;base64,<?php echo base64_encode( $image_data ); ?>" />
대부분의 경우 다이스코그가 제시하는 것처럼 별도의 스크립트를 통해 이미지를 제공하는 것이 더 낫지만 유용할 수 있는 몇 가지 특별한 상황이 있습니다.
파일명만 저장하고 이미지 자체는 파일에 저장하는 경우
while($row = mysqli_fetch_array($result)) {
echo 'img src="',htmlspecialchars($row['filename']),'" width="175" height="200" />";
}
PDO 사용
쿼리
<?php
require 'connect.php';
$stmt = $pdo->query("SELECT * FROM products");
$products = $stmt->fetchAll(PDO::FETCH_ASSOC);
보다
<table>
<thead>
<tr>
...
<th>Product Name</th>
<th>Product Image</th>
</tr>
</thead>
<tbody>
<?php foreach ($products as $product) : ?>
<tr>
...
<td><?= htmlspecialchars($product['product_name']); ?></td>
<td>
<img
src="data:image/jpeg;base64,<?= base64_encode($product['image']); ?>"
width="100"
height="100"
>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
더하다$row = mysql_fetch_object($result);
당신의 mysql_graphics 이후에;
당신의 html<img src="<?php echo $row->dvdimage; ?>" width="175" height="200" />
언급URL : https://stackoverflow.com/questions/7793009/how-to-retrieve-images-from-mysql-database-and-display-in-an-html-tag
반응형
'programing' 카테고리의 다른 글
ASP.NET - 정적 메서드/정적 클래스에서 세션에 액세스하시겠습니까? (0) | 2023.09.14 |
---|---|
MySQL 오류:최대 열 크기는 767바이트입니다. (0) | 2023.09.14 |
Gradle 5 JUNit BOM 및 Spring Boot 잘못된 버전 (0) | 2023.09.09 |
플로팅 요소의 중심을 어떻게 맞추나요? (0) | 2023.09.09 |
Informix에서 Oracle로 여러 테이블을 포함하는 왼쪽 외부 조인 다시 쓰기 (0) | 2023.09.09 |