[英]SQL inner join getting all data in column
这是我第一次使用内部联接,所以我很困惑。
我有两张桌子。
这是我的第一张桌子,叫做members
这是我的另一张称为捐款表。 来自成员的userID与捐赠表上的userID链接在一起。
正确,所以我想做的是从成员和捐赠表中选择所有数据,并用捐赠金额来辅助每个ID。 因此,我想做的是在所有捐赠名称旁边附上所有捐赠名称,如果可以的话。
这是我目前的代码
$ connect-包含我的配置
//Connection info.
global $connect;
//inner join
$sql = "SELECT members.firstname, members.lastname
FROM members INNER JOIN donations ON members.userID = donations.userID WHERE donations.amount !='' ORDER BY members.userID ASC ";
$result = mysqli_query( $connect, $sql);
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
$list .= $row["firstname"];
echo $list;
}
我收到此错误:mysqli_fetch_array()期望参数1为mysqli_result布尔值
更新:感谢您的所有帮助,我正在运行SQL查询,只是获得了名字和姓氏。
SELECT members.firstname, members.lastname FROM members INNER JOIN donations ON members.userID = donations.userID WHERE donations.amount !='' ORDER BY members.userID ASC
我认为我在这里做错了!=''捐款金额是十进制,我的目标是对吗?
您在列名'fisrname'=>'firstname'中有错字。 首先在phpmyadmin或其他工具中检查查询。 另请阅读有关mysqli_error的信息,以及以后有关访问数据库的其他方法(如PDO,Doctrine等)的信息。
在查询中用members.userID
替换members.id
。
SELECT members.firstname, members.lastname, donations.amount
FROM members
INNER JOIN donations ON members.userID = donations.userID
WHERE donations.amount != ''
ORDER BY members.userID ASC
至于SQL错误,这是因为当查询有问题或未找到结果时,$ result为false
。
mysqli_fetch_array()期望参数1为mysqli_result布尔值
为防止错误,请添加一个if情况,因为您需要一段时间。
if($result){
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
$list .= $row["firstname"];
echo $list;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.