1

我正在尝试打印其位置保存在我的数据库中的图像,我已经将绝对位置存储在数据库中,而不是相对位置,我浏览了很多问题,包括这个问题,包括 我试过的 img src 标签中的 PHP 结果提供给问题的相应提问者的所有选项,但我没有得到我的输出,除了图像之外,其余所有内容都显示,它显示未找到文件

这是我的代码,任何帮助将不胜感激

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,但是这段代码永远不会生效。

4

2 回答 2

3

正如观察者所说,PHP 不会在单引号字符串中进行变量插值。

双引号字符串最重要的特性是变量名将被扩展。

阅读 PHP 手册中有关字符串的更多信息。

因此,当您查看 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'>";
于 2013-08-08T18:33:23.797 回答
1

当您将变量包含在单引号中时,PHP 不会插入变量。有关详细信息,请参阅手册

于 2013-08-08T18:30:02.457 回答