-6

我必须向关联数组附加更多值,这些值被覆盖,我只能看到显示的最后一个值。

我的片段是:

$sql= "SELECT  MONTHNAME(dt),SUM(dist) FROM demo GROUP BY MONTHNAME(dt) ";
$result=mysql_query($sql,$con) or die(mysql_error());

while($row = mysql_fetch_array($result))
{

$values=array($row['MONTHNAME(dt)'] => $row['SUM(dist)']);

}

我希望其他值也会出现在数组 $values 中,但它没有发生。

4

3 回答 3

2

看来你需要做这样的事情,

$values = array();
while($row = mysql_fetch_array($result))
{
  $values[$row['MONTHNAME(dt)']] = $row['SUM(dist)'];
}
print_r($values);

如果您需要一个关联数组而不是喜欢。

$values[] = array($row['MONTHNAME(dt)'] => $row['SUM(dist)']);

注意: 请不要mysql_*在新代码中使用函数。它们不再被维护并被正式弃用。看到红框了吗?改为了解准备好的语句,并使用PDOMySQLi -本文将帮助您决定使用哪个。如果您选择 PDO,这里有一个很好的教程

于 2013-04-30T06:34:18.867 回答
1

尝试这个:

$values[$row['MONTHNAME(dt)']] = $row['SUM(dist)']
于 2013-04-30T06:34:03.437 回答
0

我认为你应该使用。

$sql= "SELECT  MONTHNAME(dt),SUM(dist) FROM demo GROUP BY MONTHNAME(dt) ";
$result=mysql_query($sql,$con) or die(mysql_error());
$values = array();
while($row = mysql_fetch_array($result))
{

  $values[] = array($row['MONTHNAME(dt)'] => $row['SUM(dist)']);

}
于 2013-04-30T06:36:53.713 回答