Php 使用用户名从数据库中获取所有结果

Php 使用用户名从数据库中获取所有结果,php,html,mysql,Php,Html,Mysql,如何使用PHP不断检查帖子?我有一段代码,通过它可以得到所有的帖子。当我做echo$row['post_message']时我得到了所有的消息。当我将它设置为这样的变量时,$post=$row['post_message'],并且我只得到一个结果。这是我的密码 $stmt = $con->prepare("SELECT post_message FROM posts WHERE post_user = :username"); $stmt->bindValue(':username'

如何使用PHP不断检查帖子?我有一段代码,通过它可以得到所有的帖子。当我做
echo$row['post_message']时我得到了所有的消息。当我将它设置为这样的变量时,
$post=$row['post_message'],并且我只得到一个结果。这是我的密码

$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
时,我得到
我喜欢馅饼我喜欢馅饼2alex喜欢食物
,当我将它存储在变量中时,我得到
alex喜欢食物
。有什么想法吗

您的问题在于
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){
回显“用户发布:”.$post.
; }
为什么
$stmt->execute()两次?复制和粘贴错误。修复了@Darren可能与@user302975重复的问题。这是一个数组,您需要使用
print\r($posts)
查看值。在换行符结束之前,您似乎缺少一个
@Darren实际上,这应该理解为
echo“用户发布:”$邮递“
-但那只是我;-)使用Maxwell Smart的“鞋子手机”会更加困难@弗雷德二世-只有实现这些目标的最佳人选;-)
foreach($posts as $post) {
    echo 'The user posted: ' . $post . '<br />';
}