Php 使用用户名从数据库中获取所有结果
如何使用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'
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 />';
}