gpt4 book ai didi

php - 使用 SQL JOIN 函数但选择选择哪些列

转载 作者:行者123 更新时间:2023-11-29 05:14:07 25 4
gpt4 key购买 nike

之前,我问了以下问题:How do I combine tables with SQL?我想从我的电影数据库中获取数据,但按我的历史数据库订购信息。

这就是我使用数据的方式:

$movie = $db2->query("SELECT * FROM movies m INNER JOIN history h ON h.movie_id = m.id WHERE h.user_id = $id3 ORDER BY h.id LIMIT $start, $per_page");

请不要担心 $db2$id3$start$per_page。所有这些变量都正常工作...

然后我将 $movie$movie3 一起使用:

while($movie3 = mysqli_fetch_array($movie)) {
echo $real_id = $movie3["id"];
}

需要说明的是,数据和排序一切正常。但是,$real_id 等于历史数据库中的 ID,而不是电影数据库中的 ID。我可以两全其美吗?保留我已有的,但更改 $real_id 的内容?

更新:我现在如何选择正确的 ID?感谢@Jay Blanchard,这是我的新查询

$movie = $db2->query("SELECT m.*,h.* FROM movies m INNER JOIN history h ON h.movie_id = m.id WHERE h.user_id = $id3 ORDER BY h.id LIMIT $start, $per_page");

当我这样做时:

while($movie3 = mysqli_fetch_array($movie)) {
echo $movie3["id"];
}

我的 history db 仍在检索 ID。我现在如何选择正确的 ID?

我的猜测是这样的:

echo m.$movie3["id"]; 

如有任何反馈或想法,我们将不胜感激!

最佳答案

你必须告诉选择要获取的数据 -

SELECT m.id AS mid, h.id AS hid FROM movies m INNER JOIN history h...

如果没有特异性,您将遇到导致心痛和沮丧的列歧义。您在其他问题中的评论指出了这一点,但值得重复:选择特定列并且不要使用 * ever


编辑:(修改以上查询片段)

现在查询正在询问特定的列,并且我已经为每一列使用了很好的别名,我可以轻松地回显这些列:

echo $row['mid'];

关于php - 使用 SQL JOIN 函数但选择选择哪些列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35490432/

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