3つのテーブル(member、boat、boatType)を含むデータベースがあり、以下のメソッドでは2つが影響を受けます。メンバーに登録されているすべてのボートを一覧表示したいのですが、コードに問題があります(少なくとも、SQLには問題がありますが、それだけではないと思います)。
前もって感謝します。
boatHandler.php:
public function GetMembersBoats($memberId) {
$query = "SELECT b.boatId, b.length, bt.type
FROM boat AS b
INNER JOIN member AS m
ON b.memberId = m.memberId
WHERE m.memberId = ?
INNER JOIN boatType AS bt
ON b.boatTypeId = bt.boatTypeId
GROUP BY b.boatId";
$stmt = $this->m_db->Prepare($query);
$stmt->bind_param('i', $memberId);
$boats = $this->m_db->GetBoats($stmt);
}
database.php:
public function GetBoats($stmt) {
$boats = array(
0 => array(),
1 => array(),
2 => array()
);
$stmt->execute();
$stmt->bind_result($boatId, $length, $type);
while ($stmt->fetch()) {
array_push($boats[0], $boatId);
array_push($boats[1], $length);
array_push($boats[2], $type);
}
$stmt->Close();
return $boats;
}
影響を受けるテーブル:
- ボート: boatId、boatTypeId、length、memberId
- boatType: boatTypeId、タイプ