[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PDO - выборка строк
AmberLEX
Че-то я не пойму. Во многих примерах пишут примерно такой код (в т.ч. и в мане http://ua2.php.net/manual/en/pdo.query.php):
	$sql = "SELECT * FROM `nsp_news`";
foreach ($dbh->query($sql) as $row)
{
echo $row['news_title'] . '<br>';
echo $row['news_text'] . '<br>';
}
Выходит, что запрос будет выполнятся столько же раз, сколько и цикл?
Может так правильнее:
	$res = $dbh->query("SELECT * FROM `nsp_news`");
foreach ($res as $row)
{
echo $row['news_title'] . '<br>';
echo $row['news_text'] . '<br>';
}
или так:
	$res = $dbh->query("SELECT * FROM `nsp_news`");
while ($row = $res->fetch(PDO::FETCH_ASSOC))
{
echo $row['news_title'] . '<br>';
echo $row['news_text'] . '<br>';
}
Или я что-то не дочитал?



Спустя 2 часа, 49 минут, 48 секунд (10.01.2011 - 13:12) vasa_c написал(а):
Нидачитали в документации про foreach

Спустя 34 минуты, 49 секунд (10.01.2011 - 13:46) AmberLEX написал(а):
Блин, точно!
Внимание: Цикл foreach оперирует не исходным массивом, а его копией. Это означает, что любые изменения, которые вносятся в массив, не могут быть "видны" из тела цикла. Что позволяет, например, в качестве массива использовать не только переменную, но и результат работы какой-нибудь функции, возвращающей массив (в этом случае функция будет вызвана всего один раз - до начала цикла, а затем работа будет производиться с копией возвращенного значения)


_____________
1. Чудес не бывает.
2. Дерьмо случается.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.