【问题标题】:Create a simple array using my database使用我的数据库创建一个简单的数组
【发布时间】:2012-02-04 15:28:35
【问题描述】:

我有以下 php 代码:

$seasons = array("Autumn", "Winter", "Spring", "Summer");

现在我还有一个包含季节表的数据库,其中的季节如下:

+--------+
| Season |
+--------+
| Autumn |
| Winter | 
| Spring |
| Summer |
+--------+

所以我想从我的数据库中获取季节并将它们放在这个数组中,但是如何做到这一点。自己的尝试失败(尝试使用whilemysql_fetch_arraymysql_fetch_ASSOC等)

初学者得到这个:

$result = mysql_query("SELECT Season FROM Seasons ORDER BY Season");

这应该给我所有的季节,但我被困在这里。搜索了互联网,但那里的例子对于我需要的东西来说太复杂了......

非常感谢

【问题讨论】:

  • mysql_query 为您提供了一个结果集,您需要使用mysql_fetch_* 轮询行,PHP 手册对此非常清楚。您能否展示一些您尝试过但不起作用的代码?

标签: php mysql arrays while-loop


【解决方案1】:
$seasons = array();
$result = mysql_query("SELECT Season FROM Seasons ORDER BY Season");
while($row = mysql_fetch_num($result))
  $seasons[] = row[0];

【讨论】:

  • 老兄,你要覆盖 $result 吗?
  • 正确。你仍然有一个错字:P
  • @Lior: o_O...没看到那个。现已修复。
  • 大家好,这给了我这个错误:Parse error: syntax error, unexpected '[' in etcetc 这是这部分:$seasons[] = row[0];
  • @Maurice:需要更多上下文,这个错误现在没有任何意义。
【解决方案2】:

试试这段代码。它将使用您的查询结果填充一个名为 $seasons 的数组。

$result = mysql_query("SELECT Season FROM Seasons ORDER BY Season");
while($row = mysql_fetch_array($result)){
    $season=$row['Season'];
    $seasons[] = $season;
}

它似乎对我有用。

【讨论】:

    【解决方案3】:
    while ($row = mysql_fetch_assoc($result)) {
      echo $row['Season'] . "\n";
    }
    

    这将一次循环遍历结果一行。当没有剩余行时,mysql_fetch_assoc 返回false,并退出循环。

    【讨论】:

      猜你喜欢
      • 2011-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多