在while循环中定义变量时意外的T_ECHO

时间:2014-06-28 03:43:37

标签: php echo

我已经看了好几个小时了,我准备放弃了。我收到了意外的“回声”(T_ECHO)错误。我知道这意味着我误用了/错放了回声,所以我尝试了很多引号组合来解决它,但唉,我失败了。这是我的代码:

while($row = mysqli_fetch_array($result)){
$img = '<img src="/upload/"' . echo $row['image'] . '"/>';
printf('<li id="page_%s">%s</li>', $row['Item_ID'], $img);
}

请帮忙!

1 个答案:

答案 0 :(得分:0)

Echo不是一个函数,它是一种语言结构,不能返回任何东西。您可以直接连接,而不是使用echo。此外,请记住在任意数据周围使用htmlspecialchars()以确保您生成有效的HTML。最后,您在src的HTML属性中有额外的引号。试试这个:

$img = '<img src="/upload/' . htmlspecialchars($row['image']) . '" />';

如果你想让它变得干净整洁,可以考虑一个模板引擎,例如Smarty