복붙노트

어떻게 MySQL 데이터베이스에서 이미지를 검색하고 HTML 태그에 표시

PHP

어떻게 MySQL 데이터베이스에서 이미지를 검색하고 HTML 태그에 표시

필자는 phpmyadmin을 사용하여 테이블로 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로 가져와 태그에 표시 할 수 있습니까?

해결법

  1. ==============================

    1.당신은 할 수 없습니다. 이미지 데이터를 반환하는 다른 PHP 스크립트를 만들어야합니다. getImage.php. catalog.php를 다음으로 변경하십시오 :

    당신은 할 수 없습니다. 이미지 데이터를 반환하는 다른 PHP 스크립트를 만들어야합니다. getImage.php. catalog.php를 다음으로 변경하십시오 :

    <body>
    <img src="getImage.php?id=1" width="175" height="200" />
    </body>
    

    그럼 getImage.php는 다음과 같습니다.

    <?php
    
      $id = $_GET['id'];
      // do some validation here to ensure id is safe
    
      $link = mysql_connect("localhost", "root", "");
      mysql_select_db("dvddb");
      $sql = "SELECT dvdimage FROM dvd WHERE id=$id";
      $result = mysql_query("$sql");
      $row = mysql_fetch_assoc($result);
      mysql_close($link);
    
      header("Content-type: image/jpeg");
      echo $row['dvdimage'];
    ?>
    
  2. ==============================

    2.기술적으로, 데이터 URI를 사용하여 이미지 데이터를 img 태그에 넣을 수도 있습니다.

    기술적으로, 데이터 URI를 사용하여 이미지 데이터를 img 태그에 넣을 수도 있습니다.

    <img src="data:image/jpeg;base64,<?php echo base64_encode( $image_data ); ?>" />
    

    대부분의 경우 daiscog와 같은 별도의 스크립트를 통해 이미지를 제공하는 것이 더 나을지라도 유용 할 수있는 특별한 상황이 있습니다.

  3. ==============================

    3.필요한 정보를 검색하고 해부해야합니다.

    필요한 정보를 검색하고 해부해야합니다.

    while($row = mysql_fetch_array($result)) {
     echo "img src='",$row['filename'],"' width='175' height='200' />";
    }
    
  4. ==============================

    4.먼저 쿼리의 결과 집합에서 결과 행을 가져와야합니다. 이를 위해 mysql_fetch_row를 사용할 수 있습니다. 이제 가져온 행에 가져온 값에 액세스하여 src에 에코 할 수 있습니다.

    먼저 쿼리의 결과 집합에서 결과 행을 가져와야합니다. 이를 위해 mysql_fetch_row를 사용할 수 있습니다. 이제 가져온 행에 가져온 값에 액세스하여 src에 에코 할 수 있습니다.

    예 :

    $sql = "SELECT dvdimage FROM dvd WHERE id=1";
    $result = mysql_query($sql);
    $row = mysql_fetch_row($result);
    ?>
    <img src="<?=$row[0]?>" width="175" height="200" />
    <?
    
  5. ==============================

    5.$ row = mysql_fetch_object ($ result)를 추가하십시오; 당신의 mysql_query ();

    $ row = mysql_fetch_object ($ result)를 추가하십시오; 당신의 mysql_query ();

    html

  6. from https://stackoverflow.com/questions/7793009/how-to-retrieve-images-from-mysql-database-and-display-in-an-html-tag by cc-by-sa and MIT license