2015-01-28 2 views
0

데이터베이스에서 이미지 경로를 가져 와서 HTML <img>을 사용하여 이미지를 표시하려고합니다.PHP를 사용하여 MySQL 데이터베이스에서 이미지를 가져 오는 방법

mysql 데이터베이스에 이미지의 경로를 저장하고 있지만 잘못된 정보를 이해할 수 없습니다.

HTML :

<html> 

    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
     <title>image</title> 
    </head> 

    <body> 
     <img src="image_loading.php" width="100" height="100"> 
    </body> 

</html> 
<br /> 

PHP :

<?php 
$dbhost  = "localhost"; 
$dbusername = "root"; 
$dbpass  = ""; 
$dbname  = "m_beg"; 

$conn = mysqli_connect($dbhost, $dbusername, $dbpass, $dbname) or die(); 
$sql = "SELECT `image` FROM `music_table` where `id`=100"; 

$res = mysqli_query($conn, $sql); 
header("Location:image/jpg"); 

while ($row = mysqli_fetch_array($res)) { 
    echo $row["image"]; 
} 

?> 
+0

헤더 ("위치 : 이미지/JPG")? 헤더 ("Content-type : image/jpeg")가 아닌 이유는 무엇입니까? –

+0

어느 쪽이든 ... 파일 이름이있는 헤더는 작동하지 않습니다. –

+0

왜 그 헤더?! DB에서 바이너리 데이터를 호출하고 있습니까? – techouse

답변

0

이것은 모두 잘못되었습니다. 'image_loading.php'라는 이미지를로드하려고 시도합니다. PHP가 잘못된 헤더를 반환합니다.

대신 HTML 코드로 php 함수를 포함하여 이것을 사용하십시오.

HTML

<html> 

    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
     <title>image</title> 
    </head> 

    <body> 
     <img src="<?php echo getfilename();?>" width="100" height="100"> 
    </body> 

</html> 
<br /> 

PHP

<?php 
function getfilename() 
{ 
    $dbhost  = "localhost"; 
    $dbusername = "root"; 
    $dbpass  = ""; 
    $dbname  = "m_beg"; 

    $conn = mysqli_connect($dbhost, $dbusername, $dbpass, $dbname) or die(); 
    $sql = "SELECT `image` FROM `music_table` where `id`=100"; 

    $res = mysqli_query($conn, $sql); 
    while ($row = mysqli_fetch_array($res)) { 
     return $row["image"]; 
    } 
    return "";//error no image found 
} 
?> 
+0

정말 많이 감사합니다 .. 당신의 대답은 나를 위해 매우 도움이됩니다. –

+0

내 기쁨 Ajay. 그러나, 당신이해야만하는 모든 답변이 유용하다면, "투표"를하십시오. 문제를 해결하는 데 도움이되는 정답 일 경우 올바른 것으로 표시해야합니다 (그렇지 않으면 득표 수). 그렇지 않으면 대답하지 않은 채로 남아 있습니다. –

0

이 같은 시도 ..

while($row = mysqli_fetch_array($res)) 
     { 
      $title = $row["image"]; 

      echo "<img src=$title width='100' height='100'>"; 
     } 
+0

...... 에코 ""; –

+0

에코 ""; 이미지를 표시하는 것입니다 – next2u

0

하는 경로에 슬래시 추가 상대 URL 경로를 시도해보십시오

<img src="/image_loading.php" width="100" height="100"> 
0

이 코드를 사용해보십시오 ..

<?php 
    $dbhost  = "localhost"; 
    $dbusername = "root"; 
    $dbpass  = ""; 
    $dbname  = "m_beg"; 

    $conn = mysqli_connect($dbhost, $dbusername, $dbpass, $dbname) or die(); 
    $sql = "SELECT `image` FROM `music_table` where `id`=100"; 

    $res = mysqli_query($conn, $sql); 
    header("Location:image/jpg"); 

    //change this from mysqli_fetch_array to mysqli_fetch_assoc 
    while ($row = mysqli_fetch_assoc($res)) { 
    $image=$row['image']; 
    echo "<img src='$image'>"; 
} 


?> 
관련 문제