L'affichage d'une image à l'aide d'une variable php

Je suis en train d'afficher des images en prenant leur chemin d'accès au fichier à partir d'une table sql, mais je vais avoir beaucoup de problèmes.

Voici ce qui se passe:

$image est une variable contenant le texte "itemimg/hyuna.png" qui est le chemin vers une image.

$image = 'itemimg/hyuna.png';

Je suppose que je serais capable d'afficher l'image à l'extérieur du bloc php comme ceci:

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

Cela ne fonctionne pas si pour une raison quelconque.

Alors j'ai pensé que peut-être il n'est pas capable de lire la variable en dehors du bloc php(je suis débutant), donc pour les tests que j'ai fait:

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

Il affiche itemimg/hyuna.png comme un h1 bannière.

Sens, il accède à la varible amende.

Alors j'ai pensé que peut-être que le chemin est mauvais. J'ai donc essayé:

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

Cette affiche l'image à la perfection.

Alors maintenant, je suis coincé à me gratter la tête pourquoi le premier bout de code n'affiche rien, mais le texte "test" de "alt="

Question supplémentaire:
Comment dois-je aller sur l'affectation d'une valeur à partir d'un sql cellule à une variable?
J'ai essayé les suivantes avec pas de chance:

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

item d'une table avec une collumn: image qui contient les chemins d'accès aux images

PHP short-tags ne sont probablement pas activé. Même encore vous les utilisez mal. Si vous souhaitez que l'écho, l'utilisation <?=.
"Si vous êtes heureux et vous le savez erreur de syntaxe" echo balise courte est <?=, pas <?. Ceux-ci doivent être activés, trop, et même si elles le sont, vous ne devriez pas les utiliser, car ils entrent en conflit avec la balise xml (<?xml), et de rendre votre code moins portable. parce que vous n'utilisez pas le bon tag, php va se plaignent également de l'absence de point-virgule. Et même si vous le corriger: $someVar; déclaration est valable que ne fait rien.
Oh mon dieu. Donc en gros, j'ai juste eu à ajouter '=' pour résoudre mon problème? Merci à vous deux très beaucoup pour votre aide!

OriginalL'auteur user1783150 | 2013-10-24