试图
理解为什么当这个页面加载时,$member['memberName']和$member['memberDOB']对象的值。 提前感谢任何帮助,仍在学习php和MySQL。:)
这是 HTML:
<table>
<tr>
<th>Player Name</th>
<th>Player Date of Birth</th>
</tr>
<?php foreach ((array)$members as $member) : ?>
<tr>
<td><?php echo $member['memberName']; ?></td>
<td><?php echo $member['memberDOB']; ?></td>
</tr>
<?php endforeach; ?>
</table>
和PHP:
} else if ($action == 'view_team_members') {
$team_id = filter_input(INPUT_GET,'team_id');
$team_name = get_team_name($team_id);
$members = get_team_members($team_id);
include('/view/team_members.php');
}
这是函数:
function get_team_members($team_id) {
global $db;
$query = 'SELECT * FROM members
WHERE teamID = :team_id';
$statement = $db->prepare($query);
$statement->bindValue(':team_id', $team_id);
$statement->execute();
$statement->closeCursor();
$members = $statement->fetch();
return $members;
}
玩了几个小时后,我将 fetch() 更改为 fetchAll() - 这解决了问题(同时删除了 closeCursor() )。
function get_team_members($team_id) {
global $db;
$query = 'SELECT * FROM members
WHERE teamID = :team_id';
$statement = $db->prepare($query);
$statement->bindValue(':team_id', $team_id);
$statement->execute();
$members = $statement->fetchAll();
return $members;
}