Отображение изображения с использованием переменной php

Я пытаюсь отображать изображения, беря их путь к файлу из таблицы sql, но у меня много проблем.

Вот что происходит:

$image – это переменная, содержащая текст "itemimg/hyuna.png" который является путем к изображению.

 $image = 'itemimg/hyuna.png'; 

Я предположил, что смогу отобразить изображение вне блока php следующим образом:

 <img src= "<? $image ?>" alt="test"/> 

По какой-то причине это не работает.

Поэтому я подумал, что, возможно, он не может прочитать переменную за пределами php-блока (я новичок), поэтому для тестирования я сделал:

 <h1> "<? $image ?>" </h1> 

Он отображает itemimg/hyuna.png как баннер h1.

Это означает, что он обращается к варианту.

Поэтому я подумал, что путь неправильный. Поэтому я попробовал:

 <img src= "itemimg/hyuna.png" alt="test"/> 

Это отлично отображает изображение.

Итак, теперь я застрял, царапая себе голову, потому что первый бит кода отображает ничего, кроме текста "test" from "alt="

Дополнительный вопрос: как мне назначить значение из ячейки sql переменной? Я попытался сделать следующее:

 $q = "select * from item where id=$id"; $results = mysql_query($q); $row = mysql_fetch_array($results, MYSQL_ASSOC); $image = ".$row['image']."; 

item – таблица с символом collumn: image который содержит пути к изображениям

Прежде всего, вы не должны использовать PHP Shorttags.

Когда вы используете Shorttags PHP, вы должны сказать:

 <img src="<?=$image ?>" alt="test" /> 

Но я бы посоветовал избежать содержимого с переменной следующим образом:

 <img src="<?php echo htmlspecialchars($image); ?>" alt="test" /> 

Ваш дополнительный вопрос:

Это должно привести к синтаксической ошибке, потому что строка не может быть проанализирована, просто используйте $image = $row['image'];

Попробуй это

<img src= "<?php echo $image ?>" alt="test"/>

пытаться

 <img src= "<?= $image ?>" alt="test"/> 

или

 <img src= "<? echo $image; ?>" alt="test"/> 

попробуй это

 <img src= "<?php echo $image ?>" alt="test"/>