gpt4 book ai didi

php - 使用 pdo 和关系数据库获取行

转载 作者:太空宇宙 更新时间:2023-11-03 11:45:14 24 4
gpt4 key购买 nike

我有一个小问题,我有一个包含 2 个表、用户和评论的数据库,我需要使用 pdo 打印结果。如果我尝试这段代码,一切都很好:

$stmt = $dbConnection->prepare("SELECT comment_text, username FROM users, comments WHERE users.user_id = comments.user_id");
$stmt->execute();
$stmt->fetch(PDO::FETCH_ASSOC);

foreach ($stmt as $row) {
echo $row['comment_text'] . "<br>By " . $row['username'] . "<br>";
}

但是如果我尝试添加一个获取获取结果的变量,我会得到一个完全不同的结果,只有 2 行并且只有值的第一个字母......

$stmt = $dbConnection->prepare("SELECT comment_text, username FROM users, comments WHERE users.user_id = comments.user_id");
$stmt->execute();
$comment = $stmt->fetch(PDO::FETCH_ASSOC);

foreach ($comment as $row) {
echo $row['comment_text'] . "<br>By " . $row['username'] . "<br>";
}

最佳答案

if i try this code, everything works great:

不是。
这样你就失去了第一条评论。所以应该只是

$stmt->execute();
foreach($stmt as $row )
{
echo $row['comment_text']."<br>By ".$row['username']."<br>" ;
}

如果你想将结果保存在数组中,你必须使用the appropriate function为此:

$stmt->execute();
$comments = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach($comments as $row )
{
echo $row['comment_text']."<br>By ".$row['username']."<br>" ;
}

虽然 fetch() 只为您获取一条记录,但 fetchAll() 的作用正如其名

关于php - 使用 pdo 和关系数据库获取行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39292919/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com