За последние 24 часа нас посетили 18385 программистов и 1592 робота. Сейчас ищут 1067 программистов ...

вывод изображения из MySQL

Тема в разделе "PHP для новичков", создана пользователем Lyubopysh, 7 май 2019.

  1. Lyubopysh

    Lyubopysh Активный пользователь

    С нами с:
    6 июн 2018
    Сообщения:
    10
    Симпатии:
    0
    Здравствуйте.
    Имеется таблица images из двух столбцов id и content
    content тип mediumblob
    в ней всего одна строка, одно изображение 1.jpeg

    файл test.php
    PHP:
    1. $bd = mysql_connect("localhost", "root", "") or die("Нет соединения с MyCQL" . mysql_error());
    2. mysql_select_db ("test_img") or die ("Нет соединения с базой данных" . mysql_error());
    3. $query = mysql_query("SELECT * FROM `images`")  or die(mysql_error());
    4. while ($img = mysql_fetch_array($query))
    5.     {
    6.     header("Content-type:image/jpeg");
    7.     echo $img['content'];
    8.     }
    при выполнении выводит пустой квадратик, тоесть я так панимаю что браузер сообразил что там должна быть картинка, но не получил её
    закоментировал
    PHP:
    1. header("Content-type:image/jpeg");
    при выполнении выдал ошибку
    PHP:
    1. Notice: Undefined index: content
    проверил существование переменной
    PHP:
    1. var_dump(isset($img['id']));
    2. var_dump(isset($img['content']));
    при выполнении выдал
    bool(true) bool(false)
    тоесть получается индекс есть, а самой картинки нет
    вот тут то я и впал в ступор, что я не правильно понимаю?
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.853
    Симпатии:
    748
    Адрес:
    Татарстан
    нет не правильно - вам английским по белому пишут - нет такого индекса!
    сделайте
    PHP:
    1. print_r($img)
    и поймете что нет такого поля у вас в БД
     
    Lyubopysh нравится это.
  3. Lyubopysh

    Lyubopysh Активный пользователь

    С нами с:
    6 июн 2018
    Сообщения:
    10
    Симпатии:
    0
    вай вай вай, стыдно то как o_O
    действительно, нет такого индекса в базе :eek:
    ошибся на одну буковку.
    --- Добавлено ---
    Но теперь другая фигня,
    без
    PHP:
    1. header("Content-type: image/jpeg");
    выводит кракозябры, тоесть данные получены из базы, но браузер не понимает что это картинка, соответственно
    PHP:
    1. header("Content-type: image/jpeg");
    говорит ему, это картинка, но он, по прежнему не ресует её, оставляет маленький квадратик...
     
  4. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.853
    Симпатии:
    748
    Адрес:
    Татарстан
    Кодировка самого php файла надеюсь что utf-8 без bom ? Ну и нет всяких пробелов и нечитаемых символов до после <?php
     
    Lyubopysh нравится это.
  5. Lyubopysh

    Lyubopysh Активный пользователь

    С нами с:
    6 июн 2018
    Сообщения:
    10
    Симпатии:
    0
    оуууу, всё, заработало, огромное спасибо! Ваша помощь неоценима, Вы мне показали на мою самую большую ошибку!
    невнимательность!
     
  6. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.853
    Симпатии:
    748
    Адрес:
    Татарстан
    Ну а вообще, изображения непосредственно в бд редко хранят, не Гуд это. Обычно только путь до картинки, а картинку в фс