gpt4 book ai didi

PHP 和 MySQL 在 while 循环中使用 LEFT JOIN 调用数据

转载 作者:行者123 更新时间:2023-11-29 18:50:53 24 4
gpt4 key购买 nike

这里有一个简单的问题,但我正在创建一个论坛,并且在“类别 View ”页面上有一个表格,其中包含指向该类别中每个主题的链接,还有每个主题的发布日期。我的问题是,我试图显示发布该主题的用户名的人。我的代码如下所示:

$sql = "SELECT * FROM topics t LEFT JOIN users AS u ON t.topic_by=u.user_id WHERE t.topic_cat = :topicCat";
$query = $DB_con->prepare($sql);
$query->execute(array(':topicCat' => $catid));
...
echo '<table class="table">
<thead class="thead-inverse">
<tr>
<th>Topic</th>
<th>Posted by</th>
<th>Created on</th>
</tr>
</thead>';
while ($topicRow = $query->fetch(PDO::FETCH_ASSOC)) {
echo '<tr>
<td>
<h3><a href="topic.php?id=' . $topicRow['u.user_name'] . '">' . $topicRow['topic_subject'] . '</a></h3>
</td>
<td>
<a href="user.php?id=' . $topicRow['topic_by'] . '"></a>
</td>
<td>
' . date('d-m-Y', strtotime($topicRow['topic_date'])) . '
</td>
</tr>';
}

echo '</table>';

$catid 已从 $_GET 变量定义,问题是 <a href="topic.php?id=' . $topicRow['u.user_name'] . '">' 。我似乎无法链接这两个表,尽管它们已经有外键链接。在这里查看我的数据库:DB Layout

这是我现在遇到的错误:

Notice: Undefined index: u.user_name in C:\xampp\htdocs\WEBSITE\category.php on line 41

有人知道我做错了什么吗?

最佳答案

当 PHP 从 MySQL 调用返回列时,它不会在调用中包含表前缀。因此 $topicRow['u.user_name'] 应该只是 $topicRow['user_name']

如果 JOIN 之后有多个名称为 user_name 的列,那么您需要在 SELECT 部分中指定哪些列,例如 SELECT *,u.user_name AS user_name,.. .

关于PHP 和 MySQL 在 while 循环中使用 LEFT JOIN 调用数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44360382/

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