Подготовленный PHP оператор Foreach Loop - PullRequest
6 голосов
/ 23 ноября 2011

Код ниже возвращает только один результат. Остальные пять результатов пустые. Как я могу вернуть все строки?

foreach($dates as $date){

    if($stmt->prepare("SELECT event FROM calendar WHERE date = ?")) {

        $stmt->bind_param('i',$date);

        $stmt->execute();

        $stmt->bind_result($event);

        $stmt->store_result();

        while($stmt->fetch()) {
            echo $event;
        }
        $stmt->close();
    }
}

1 Ответ

7 голосов
/ 23 ноября 2011

Вы закрыли подготовленный оператор при первом выполнении цикла foreach.

Переместите $stmt->prepare("SELECT event FROM calendar WHERE date = ?") за пределы цикла foreach и

$stmt->close() вне цикла foreach

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...