PHP отображает изображения из базы данных

Поэтому я пытаюсь отобразить изображения из базы данных для веб-сайта, который я создаю для друга. Он хочет иметь возможность загружать изображение и отображать его на первой странице.

У меня загружен образ всех работающих. Сохранение его в базе данных как BLOB.

Я начал работать над отображением изображений в отдельном файле. Я заработал на своем тестовом сайте, изображения показали, как он их хочет. Но затем я переместил код на фактический веб-сайт, понял, как это должно быть, и это не сработало.

Я закончил тем, что снова попробовал это на своем тестовом веб-сайте, и все получилось отлично.

Для некоторых он не работает на фактическом веб-сайте, но он отлично работает на моем тестовом сайте.

Фактический сайт захватывает больше информации, которую делает мой тестовый сайт.

Вот код, который я использовал на своем тестовом сайте.

image.php

$query = mysql_query("SELECT * FROM images LIMIT 1"); while($row = mysql_fetch_assoc($query)){ $image_id = $row['id']; echo "<img src=showimage.php?id=".$image_id.">"; } 

Вот как я захватываю изображение из базы данных и отображаю его.

showimage.php

 include 'inc/db.php'; $id = addslashes($_REQUEST['id']); $image = mysql_query("SELECT image FROM sites WHERE id = '$id'"); $image = mysql_fetch_assoc($image); $image = $image['image']; header("Content-type: image/png"); echo $image; 

Использование этого кода на тестовом сайте прекрасно работает, там нет проблем.

Вот мой код для фактического сайта.

sites.php

 $select = mysql_query("SELECT * FROM sites"); while($row = mysql_fetch_assoc($select)){ $image_id = $row['id']; echo ' <tr class="bottom"><td>'.$row['host'].'</td> <td>'.$row['currency'].''.$row['price'].' every '.$row['payment'].'</td> <td>'.$row['domain'].'</td> <td>'.$row['paid_currency'].''.$row['paid_domain'].'</td> <td>'.$row['features'].'</td> <td> <span title="Edit '.$row['id'].'"><a href="edit.php?id='.$row['id'].'"><img src="images/edit.png" alt="Edit"></a></span> <span title="Delete '.$row['id'].'"><a href="inc/delete.php?id='.$row['id'].'"><img src="images/delete.png" alt="Delete"></a></span> </td> <td><img src=showimage.php?id='.$image_id.'></td></tr> '; } 

Это использование файла showimage.php для захвата изображения из базы данных, но не работает вообще.

Если вы настроились на использование базы данных, посмотрите на функцию imagecreatefrompng () , в зависимости от того, как img был помещен в БД.

Кроме того, вместо addlashes () попробуйте выполнить $id = (int)$_GET['id']; затем проверяем, равен ли $id > 0 . Наконец, +1 для сохранения изображений в файловой системе, а не как BLOB.

[И добавьте здесь лекцию mysql_query-is-устаревшего использования-PDO-расширения]