0

是的,我什至不确定如何问这个问题。

让我试着举一个例子来说明我想在这里做什么。

function getRecents()
{
    global $sql;
    $buffer = $sql->prepare("SELECT * FROM `foo` WHERE `exposure` = 'public' ORDER BY `id` DESC LIMIT 5");
    $buffer->execute();
    return $buffer->fetch(PDO::FETCH_OBJ);
}

while($pd = getRecents())
{
 echo $pd->id;
}

就好像我要在下面这样做一样。显然,因为我不止一次使用最近的东西,所以我不会把它到处乱扔。

    $buffer = $sql->prepare("SELECT * FROM `foo` WHERE `exposure` = 'public' ORDER BY `id` DESC LIMIT 5");
    $buffer->execute();
    while($foo = $buffer->fetch(PDO::FETCH_OBJ))
    echo $foo->id;

我想有人会理解我想要做什么,如果是这样,我很困惑。我会用谷歌搜索它,但我什至不知道该怎么做。

4

2 回答 2

1

我想你应该尝试这样的事情:

function getRecents()
{
    global $sql;
    $buffer = $sql->prepare('SELECT * FROM foo WHERE exposure = "public" ORDER BY id DESC LIMIT 5');
    $buffer->execute();
    return $buffer->fetchAll(PDO::FETCH_OBJ);
}

$recents = getRecents();

foreach ($recents as $item) {
    echo $item->id;
}
于 2013-11-06T20:12:59.733 回答
0

如果有一组对象/数组,则 foreach 循环会更好。

$buffer = $sql->prepare('SELECT * FROM foo WHERE exposure = "public" ORDER BY id DESC LIMIT 5');
$buffer->execute();
foreach($buffer->fetchAll(PDO::FETCH_OBJ) as $row) {
    print_r($row);
}
于 2013-11-06T20:21:29.113 回答