我正在尝试打印其位置保存在我的数据库中的图像,我已将绝对位置存储在数据库而不是相关的位置,我浏览了很多问题,包括这个 include a PHP result in img src tag 我尝试了问题的相应提问者的所有选项,但我没有得到我的输出,休息一切都显示图像,它显示没有找到文件
这是我的代码,任何帮助将不胜感激
while($result=@mysql_fetch_array($resul,MYSQL_ASSOC)){
$image = $result['image'];
echo $result['company'] . " " . $result['model'] . "<br>" ;
echo '<img src="$image" height="50" width="50" />';
}
我知道我使用的是mysql函数而不是mysqli,但是这段代码还没有生效。
答案 0 :(得分:3)
正如观察者所说,PHP不会在单引号字符串中进行变量插值。
双引号字符串最重要的特性是变量名称将被扩展。
Read more about strings from the PHP manual.
因此,当您查看HTML时,您将字面看到:
<img src="$image" height="50" width="50" />
您的代码应为:
while($result = mysql_fetch_array($resul,MYSQL_ASSOC)) {
$image = $result['image'];
echo $result['company'] . " " . $result['model'] . "<br>";
echo "<img src='$image' height='50' width='50'>";
}
或者,插入数组值:
while($result = mysql_fetch_array($resul,MYSQL_ASSOC)) {
echo $result['company'] . " " . $result['model'] . "<br>";
echo "<img src='{$result['image']}' height='50' width='50'>";
}
如果文件名包含空格或其他特殊字符,则可能需要使用rawurlencode()
。在这种情况下,您必须连接字符串,因为您正在调用返回string
值的函数:
echo "<img src='" . rawurlencode($result['image']) . "' height='50' width='50'>";
答案 1 :(得分:1)
当您将变量包含在单引号中时,PHP不会插入变量。有关详细信息,请参阅manual。