$res = $dbh->query($q);
foreach($res as $row){
.....
}
//почему тут второй раз не делается перебор, скрипт встает и не перед этим foreach и не идет дальше.
foreach($res as $row){
.....
}
А в первом все ок отрабатывает перебор, если закоментировать первый перебор то будет отрабтываться нормально второй.