今天刚刚学习了 PDO,正在制作 Twitter 克隆以学习使用 PHP/MySQL。
这是一段代码,它应该显示数据库中某个 user_id 下的所有推文(有点像推特提要)。
<?php
$all_tweets = showtweets($pdo, $_SESSION['user_id']);
if (count($all_tweets)) {
foreach($all_tweets as $key => $value) {
?>
<div class="tweet">
<?php
echo $key['tweet'] . "<br>
Written By: " . $_SESSION['user_id'] . " on " . $key['time'] . "<br>";
?>
</div>
<?php
};
} else {
echo "You haven't posted anything yet!";
};
?>
这是我的 php 代码中的函数 showtweets
function showtweets($pdo, $user_id) {
$show_tweets_stmt = "SELECT tweet, time FROM tweets WHERE id=:user_id
ORDER BY time DESC";
$show_tweets = $pdo->prepare($show_tweets_stmt);
$show_tweets->bindParam(':user_id', $_SESSION['user_id']);
$show_tweets_execute = $show_tweets->execute();
if (!$show_tweets_execute) {
printf("Tweets failed to be retrieved! <br> %s", $pdo->error);
} else {
$tweets_array = $show_tweets->fetchAll();
return $tweets_array;
};
}
我尝试运行isset($all_tweets)
,它返回 true,同时回显count($all_tweets)
打印 0。
我认为我的addtweets
函数代码有问题,我整天都在涉足这个问题,但我无法让它工作。
有什么建议吗?非常感谢