2013-12-12 3 views
0

Я сохранил изображения в phpmyadmin в формате BLOB. Когда я пытаюсь отобразить их на своей веб-странице, появляются странные символы и буквы. Изображения представляют собой смесь толчков и png. Пожалуйста помоги.Нужна помощь при отображении изображений с mysql на веб-страницу

Вот код, который у меня есть.

<?php 
session_start(); 
include 'dbConn.php'; 

if (!isset($_SESSION['username'])){ 
    header("Location: clientLogin.php"); 
} 

$query = "SELECT * FROM ip_games "; 

$stmt = $dbConn->query($query); 
$result = $stmt->fetchAll(); 


?> 

<style> 

body { 
background-color: grey; 
} 

table { 

     margin: 0 auto; 
    } 

td { 
     padding-right: 30px; 
    } 

</style> 

<html> 
<body> 
    <div> 
     <form action="welcome.php"> 
     <input type="submit" value="Sign out" /> 
     </form> 
</div> 

    <h1>Happy Face Emoji Games</h1> 

    <form> 
     Name: <?php echo $_SESSION['name'] ?> <br /> 
     </form> 

<table> 

     <? 
for ($i=0; $i<count($result); $i++) 
{ 

echo "<tr>"; 
echo "<td>" . $result[$i]["picture"] . "<br />" . $result[$i]["name"]. " <br /> " .$result[$i]["console"] . " <br />" . "$" . $result[$i]["cost"] . "</td>"; 
//echo "<td>".$result[$i]["console"]."</td>"; 
//echo "<td>".$result[$i]["description"]."</td>"; 
//echo "<td>".$result[$i]["cost"]."</td>"; 
echo "</tr>"; 
} 
?> 

</table> 

</body> 
</html> 
+2

Любая причина, по которой вы решили сохранить изображение в MySQL, а не просто хранить ссылку на образы к картинкам? Для большинства случаев использования это был бы предпочтительный подход. –

+2

Ya, не смей сохранять это изображение в базе данных – wesside

+0

@MikeBrant Я бы предположил, что это потому, что он не знает, что делает. AKA Почему он даже упомянул phpmyadmin в этой теме: p PHPMyAdmin - это инструмент gui для работы с MySQL ... это не MySQL: p – skrilled

ответ

1

Вам необходимо обернуть свое изображение в теге <img>.

<img src="<?php echo $result[$i]["picture"]; ?>" /> 

Дайте мне попробовать и дайте мне знать :).

Edit: я писал, что, как если бы он был на странице, на ваш вопрос, вы, вероятно, хотите:

echo "<td><img src='" . $result[$i]["picture"] . "' />" . "<br />"... etc. 
+0

эхо ...! :): P – zeflex

+0

Как подумалось, хотя, вероятно, вам лучше будет хранить URL-адрес какого-то CDN в вашей базе данных. Затем вы можете просто вытащить URL-адрес изображения из БД, и он будет обслуживаться CDN. – MaxRev17

+0

"/> – zeflex

1

Чтобы непосредственно использовать двоичные данные в качестве источника изображения, вы можете использовать данные схемы URI , например:

$uri = 'data:image/png;base64,'.base64_encode($row['binary-data']); 

Этот URI может быть использован непосредственно в качестве источника в образ:

background-image: url(<?php echo $uri; ?>) 
<img src="<?php echo $uri; ?>"> 

не хорошая практика, более старые проблемы с браузером, проблемы с загрузкой и проблемы с ловом. cheer

+0

Я бы поместил это в php или html часть кода? – GBJpq17

+0

где бы вы ни были. – johnny

+0

Я получаю синтаксическую ошибку. Я не знаю подходящего формата для кода, который вы предложили – GBJpq17

Смежные вопросы