如何将查询结果放入变量中?

时间:2015-09-08 23:05:52

标签: php mysql sql pdo while-loop

我正在玩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标签之间循环。这只是丑陋的,我不认为这是正确的方法。

1 个答案:

答案 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}'>";
相关问题