【发布时间】:2016-05-06 15:17:47
【问题描述】:
这是我第一次使用内部连接,所以我很困惑。
我有两张桌子。
这是我的第一个名为 members 的表
这是我的另一张桌子,叫做捐款。成员的用户 ID 与捐赠表上的用户 ID 相关联。
是的,所以我要做的是从成员和捐赠表中选择所有数据,并将每个 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
我认为我在这里做错了!='' 捐款金额是小数,我的目标是正确的吗?
【问题讨论】:
-
您有 members.fisrname,列名有错误,请在查询中使用 members.firstname,因为我看到您的数据库表
-
感谢您的回复修复了拼写错误。仍然收到错误认为该错误是由 sql 引起的
-
打印您的查询并直接在phpmyadmin中尝试,看看它是否有效
-
数量是
varchar属性吗?这很奇怪,我希望是decimal。如果是decimal(或任何其他数字数据类型),为什么要将其与空字符串进行比较? -
我认为您在连接中的 where 子句中可能有错误。什么类型的字段是donation.amount?您将其称为字符串。尝试在donations.amount不为空的地方做
标签: php mysql sql inner-join