我正在玩PHP / PDO,我觉得我有一个非常简单的问题。
这是我的sql $query = $handler->query('SELECT * FROM table LIMIT 1');
,之后我放了一个while循环:
while($r = $query->fetch()) {
echo '<img src=', $r['imagepath'], '>';
}
这段代码对我来说很完美,但是现在我想把fetch-method的结果放到一个变量中,然后在我的html-table中以简单的方式将它输出到php标签之间,优先放入整个在html标签之间循环。这只是丑陋的,我不认为这是正确的方法。
答案 0 :(得分:2)
您可以使用extract()功能,如下所示使用 EXTR_SKIP
标记。
while($r = $query->fetch()) {
extract($r, EXTR_SKIP);
echo "<img src='{$imagepath}'>";
}
另外,作为旁注。通常不要在查询中使用SELECT *
,通常用于与性能相关的问题。同时,我会将您的查询重写为:
$result = $handler->query("SELECT imagename, imagepath FROM ... LIMIT 1" , PDO::FETCH_ASSOC);
extract($result, EXTR_SKIP);
echo "<img src='{$imagePath}'>";