当我写这个
echo "<p>Name: <b>".$rows['photo']."</b></p>";
它说:
IMG / car.jpg
但我需要一张图片,所以我写了
echo '<p><img src=img/$rows['photo']/></b></p>';
它说
解析错误:语法错误,意外T_STRING,期待','或';'
答案 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