PHP изображение BLOB отображает символы вместо изображения - PullRequest
0 голосов
/ 12 мая 2019

Я пытаюсь отобразить карточки продуктов с изображениями на моем сайте, вместо изображения, есть текст с символами, как показано ниже.

Вот индекс:

$q = "SELECT * FROM items" ;
$r = mysqli_query( $link, $q ) ;
if ( mysqli_num_rows( $r ) > 0 )
{
  # Display body section.
  echo '';
  while ( $row = mysqli_fetch_array( $r, MYSQLI_ASSOC ))
  {
    echo '
    <div class="product_wrapper">
    <a href="#"><img src='. $row['item_image'].' class="product_image"></a>
    <button class="addtocart_button"><a href="added.php?id='.$row['item_id'].'">Add to cart</button>
    <p class="product_details"><a href="item.html">'. $row['item_name'] . '
    <p class="product_details">' . $row['item_price'] . '
    <div class="star_container">
        &#9733; &#9733; &#9733; &#9733; &#9733;
    </div>
</div>
';
  }

И вот небольшая часть того, что отображается на сайте.Изображение хранится как тип данных «BLOB» в PHPmyAdmin.Вставив его в базу данных, я заметил следующее сообщение: «Linting отключен для этого запроса, поскольку он превышает максимальную длину».

��� )���������_&?���YNO�5�ᶌ�#>٫'�L���i�Mϗ'���3Z���J��S�����ZKp{\C�0A�����c����Wn�/֨��?�U!�� 

Я отредактировал строку изображения следующим образом:

<a href="#"><img src="data:image/jpeg;base64,'. base64_encode($row['item_image']).' class="product_image"></a>

Это избавило от символов, однако изображение по-прежнему не отображается (маленькая ошибка изображения).

1 Ответ

0 голосов
/ 12 мая 2019

Похоже, вам не хватает двойной кавычки (") перед class= - наханил

...