2015-03-30 4 views
1

Я искал решения, но они не сработали! Я пытаюсь показать изображение, которое находится в моей базе данных [в таблице Eventss], строка называется изображением и является BLOB-форматом. Это страница, где данные будут отображаться для людей, и я сосредоточен на знании php, и я исправлю условие if после выяснения того, как показать изображение.отображение изображения в php от mysql

<?php 
mysql_connect("***", "***", "***") 
or die("<p>Error connecting to database: " . mysql_error() . "</p>"); 

mysql_select_db("project") 
or die("<p>Error selecting the database ectoday: " . mysql_error() . "</p>"); 

session_start(); 
$select_query = "SELECT * FROM Eventss WHERE id=". $_SESSION["event_id"]; 
$result = mysql_query($select_query); 
if($result) 
    { 
     if (mysql_num_rows($result) > 0) 
     { 
      while($row = mysql_fetch_assoc($result)) 
      { 
       echo $row['title']. "<br>"; 
       if ($row['image'] !== NULL) 
       { 
        $poster = $row['image']; 
        echo $row['content']. "<br>"; 
        echo $row['event_date']. " [" . $row['event_time']. "]"."<br>"; 
        echo $row['location']. "<br>"; 
       } 
       else 
       { 
       echo $row['content']. "<br>"; 
       echo $row['event_date']. " [" . $row['event_time']. "]"."<br>"; 
       echo $row['location']. "<br>"; 
       } 

      } 
     } 
     else 
     { 
      echo "Sorry, there is no more data for this event"; 
     } 
    } 
?> 
<html> 
<head><head> 
<body> 
    <img src="<?php echo $poster; ?>" width="175" height="200" /> 
    </body> 
</html> 
+0

так, что именно не работает ?, вы получите ошибки ?, это error_reporting на ?, может сеанс быть пустым ?, также, смотрите в PDO подготовленных операторов или MySQLi, когда вы на нем работаете, ваш код уязвим для инъекций mysql. – Neat

+0

Где вы сохранили изображение? Любой конкретный каталог? –

ответ

0

Если она хранится в BLOB, это скорее всего в кодировке base64 и поле содержит фактические данные изображения вместо ссылки на изображения в файловой системе. Вы должны либо записать его в файл и отобразить его с помощью стандартного IMG тег, или иначе ...

<img src="data:image/jpeg;base64, HereGoesYourBase64fromBLOB..." /> 

... но имейте в виду, что данные изображения bae64 закодированные не может быть самым bandwidth- дружественное решение. Лучше иметь статические ресурсы, хранящиеся в файловой системе.

0

Предполагая, что вы не храните путь к этому изображению, но сам контент изображения и его jpg (вы можете изменить на png или любой другой тип, который у вас есть). Если да, то использование данных URI синтаксис для SRC:

<img src="<?php 
echo 'data:image/jpg;base64,'.base64_encode($poster); ?>" width="175" height="200" /> 
Смежные вопросы