Как я могу продолжать проверять сообщения с 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
. Есть идеи?
Ваша проблема заключается в вашем цикле 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 />'; }