29
Июл
2014

Почему не работает функция foreach c PDO?

Здравствуйте! Имеется простой код

# Get array of containers
$arr = file(www.'/names.db');

$checkQ = 'SELECT `name` FROM ' . $tb['table'] . ' WHERE `name`=?';
$check = $dbh->prepare($checkQ);

foreach($arr as $value) {
    echo '<p>' . $value.' :: ';

    $check->execute(['%' . $value . '%']);
    echo $check->rowCount();
}

который по идее должен выводить список строк из файла (в котором одно имя на строчку) а рядышком указывать, сколько совпадений нашлось по базе данных. Но он не работает. Имя выводит правильно, но вот у каждого имени красуется 0, и только у последнего - 1 (и он действительно есть в базе) если убрать foreach, и вместо $value подставлять какие-либо значения - всё работает.

В чём может быть проблема?

Источник: https://ru.stackoverflow.com/questions/349327/%D0%9F%D0%BE%D1%87%D0%B5%D0%BC%D1%83-%D0%BD%D0%B5-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F-foreach-c-pdo

Share

Тебе может это понравится...