我使用MySQL从数据库中提取一些信息,我将结果发送到Ajax函数,然后在网页上显示结果。
这是我的PHP代码:
$views = $connection->execute("SELECT profilePic FROM users");
foreach($views as $views)
{
echo "<tr><td><img src='".$views['profilePic']."' /></td></tr>";
}
由于代码的这一部分出现警告“Headers already sent”:
<img src='".$views['profilePic']."' />
解析时看起来像这样:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPgAAAD4CAYAAADB0SsLAAAgAElE [TRUNCATED] ..." >
如果我删除了 img 部分,则没有警告:
$views = $connection->execute("SELECT profilePic FROM users");
foreach($views as $views)
{
//this throws no warning:
echo "<tr><td></td></tr>";
}
究竟是谁在触发警告?正在应用什么规则?
答案 0 :(得分:2)
如果您的PHP代码来自您的控制器,那么&#34; echo&#34;引起警告。 您必须在视图模板中执行输出HTML代码的所有操作。
$this->set(compact('views'));
这使您的视图数组在功能视图模板中可用。