$rows
- подготовленный объект выписки.Этот объект реализует Traversable
, поэтому вы можете использовать foreach
для получения результатов, а не напрямую вызывать метод выборки.Но после того, как вы получили результаты один раз, вы не можете получить их снова.Вам нужно будет выполнить запрос еще раз или сохранить результаты в массиве во время первой итерации и использовать сохраненные результаты во второй раз, например так:
$sql = "SELECT * FROM table";
$rows = $db->prepare($sql);
$rows->execute();
foreach ($rows as $row) {
$stored[] = $row; // save the rows in an array
echo($row);
}
echo("<br/>");
foreach ($stored as $row) { // iterate the saved array instead of the statement
echo($row);
}
Кроме того, я не уверен, какecho($row)
работает здесь, так как я бы предположил, что $row
будет массивом, но это не относится к делу.