gpt4 book ai didi

php - 从多个表中选择所有值

转载 作者:行者123 更新时间:2023-11-29 02:25:52 26 4
gpt4 key购买 nike

我是 mysql 和 php 的新手。

我有两个表,分别是“成员(member)”和“积分”。它们都包括“用户名”列。我想从这两个表中选择用户名 = $POST[用户名] 的所有值。

所以我写了这个,但这不起作用。

$username = $_POST['username'];
$sql = $con->prepare("SELECT *.members, *.points FROM members, points WHERE
username=?");
$sql->bind_param("s", $username);
$sql->execute();
$result = $sql->get_result();
$row = $result->fetch_assoc();

我试过这个:

$sql = $con->prepare("SELECT * FROM members INNER JOIN points 
ON username.points = username.members WHERE username=?");
$sql->bind_param("s", $username);
$sql->execute();
$result = $sql->get_result();
$row = $result->fetch_assoc();

还有这个:

$sql = $con->prepare("SELECT *.points, *.members FROM members INNER JOIN points 
ON username.points = username.members WHERE username=?");
$sql->bind_param("s", $username);
$sql->execute();
$result = $sql->get_result();
$row = $result->fetch_assoc();

我不能使用 UNION,因为这些表中的 columbs 数量不相等。

所以,请帮我看看代码有什么问题?从多个表中选择全部的正确方法是什么。

最佳答案

别名是用来指定这些列属于哪个表的,所以你需要在你的列前加上表名

SELECT * FROM members 
INNER JOIN points
ON points.username = members.username
WHERE points.username = ?

您可以在选择和使用它们时为您的表分配一个别名

SELECT * FROM members a 
INNER JOIN points b
ON a.username = b.username
WHERE a.username = ?

关于php - 从多个表中选择所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22232161/

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