Получить ВСЕ результаты из базы данных с именем пользователя

Как я могу продолжать проверять сообщения с PHP? У меня есть часть кода, которая проходит и получает все сообщения. Когда я echo $row['post_message']; Я получаю все сообщения. Когда я устанавливаю его как переменную типа $post = $row['post_message']; , и do <h2><?php echo $post;?></h2> Я получаю только один результат. Вот мой код

 $stmt = $con->prepare("SELECT post_message FROM posts WHERE post_user = :username"); $stmt->bindValue(':username', $username, PDO::PARAM_STR); $row = $stmt->fetchAll(); $stmt->execute(); while($row = $stmt->fetch(PDO::FETCH_ASSOC)){ $post = $row['post_message']; } 

Поэтому, когда я делаю echo я получаю, что I like pie I like pie 2alex likes food , и когда я храню его в переменной, я получаю, что alex likes food . Есть идеи?

Solutions Collecting From Web of "Получить ВСЕ результаты из базы данных с именем пользователя"

Ваша проблема заключается в вашем цикле while. Вы переписываете переменную $post . Должен быть:

 $posts = array(); while($row = $stmt->fetch(PDO::FETCH_ASSOC)){ $posts[] = $row['post_message']; } 

Который должен вернуться:

 Array ( [0] => I like pie I like pie 2, [1] => alex likes food ) 

Это позволяет сделать что-то вроде этого ( в качестве примера ):

 foreach($posts as $post) { echo 'The user posted: ' . $post . '<br />'; }