输出图像(mysql,PHP)

时间:2016-04-16 07:42:28

标签: php mysql

我是,尝试输出照片,但不能。

当我写这个

echo "<p>Name: <b>".$rows['photo']."</b></p>";

它说:

  

IMG / car.jpg

但我需要一张图片,所以我写了

echo '<p><img src=img/$rows['photo']/></b></p>';

它说

  

解析错误:语法错误,意外T_STRING,期待','或';'

4 个答案:

答案 0 :(得分:0)

试试这个:

echo "<p><img src=img/$rows['photo']/></b></p>";

echo '<p><img src=img/'.$rows['photo'].'/></b></p>';

答案 1 :(得分:0)

这是正确的字符串操作,以获得您想要的东西:

echo "<p><img src=\"{$rows['photo']}\" /></p>";

使用""作为字符串包装器,使用花括号表示法注入变量。

此外,如果您有$rows['photo'] = img/car.jpg,则img/属性中不需要额外的src

我删除了</b>代码,因为它没有开头标记。

答案 2 :(得分:0)

如果要显示图像,请在单独的文件中获取图像,并在img标记中使用该文件路径

<img  src="fetch_image.php?id='.$id.'"/>

$ id是主键值

答案 3 :(得分:0)

失败是由语法错误引起的。如果我们可以假设$rows['photo']/img目录中保存文件名,那么您应该像这样使用它:

double quotes here and at the end
     ↓
echo "<p><img src='img/{$rows['photo']}'/></b></p>";
                      ↑              ↑
curly braces to distinguish variables in a string

以下是您需要阅读的手册,以了解其工作原理http://php.net/manual/en/language.types.string.php

最后但并非最不重要的是 - 您在此处有一个XSS attack向量,因为您没有转义$rows['photo']的值。这意味着如果用户可以更改photo的值,那么用户可以放置,例如这个字符串:image.jpg' onclick='window.location="my.fishing.website.com"; - 这是这种攻击的最简单形式(他也可以窃取) cookie值或任何其他敏感数据)。

要缓解此类安全漏洞,您需要使用htmlspecialchars()函数来转义值,这可能会受到用户的任何影响。或者甚至更好地使用适合您的模板引擎:http://www.phptherightway.com/#templating