我决定为我的家人建立一个梦幻足球网站,但我无法从数据库返回多行。
我想要的:进行一次 sql 调用并获取整个玩家列表,以便我可以填充一个对象或对象列表。 (如果整个桌子都可以归还那就太好了......)。我的目标是简单地向用户显示待选秀的可用球员列表。
目前,通过以下方法进行测试时,我可以看到一些结果(信用:来自 php 文档...)。然而,我不禁对正在发生的事情感到迷失……我无法让这在我的大脑中有意义。
// My query
$sql = mysql_query("SELECT * FROM players");
//$data = mysql_fetch_array($sql);
while ($row = mysql_fetch_array($sql, MYSQL_NUM)) {
printf("Name: %s <br/>", $row[1]);
}
这似乎打印了每个玩家的名字。然而如何
'mysql_fetch_array()' 在 while 循环迭代时迭代每一行?此外,由于有多列,我如何访问每一列......这是否必须进行硬编码,例如:
while ($row = mysql_fetch_array($sql, MYSQL_NUM)) {
printf("Name: %s <br/>", $row[1]);
printf("Team: %s <br/>", $row[2]);
..
.
printf("Team: %s <br/>", $row[5]);
}
最终,我将用将相关日期存储在名册对象或其他内容中的代码替换打印语句:
class Roster(){
$playerName;
$team;
$etc.
}
上面的 while 循环方法感觉困难且笨重。有没有更好的方法来访问所有返回的行?其他人会如何尝试这个?我有限的经验是 C# 和 sql server,它们可以通过一些轻松的配置做一些令人惊奇的事情...立即返回一个列表 ^
如果我不清楚,我会尽快回来查看并进一步评论。我还是一名CS学生。感谢您的耐心等待。