Php 数组中的值之和

Php 数组中的值之和,php,mysql,arrays,Php,Mysql,Arrays,我正在查询数据库。然后将结果值插入一个数组并求其和。代码如下: $result=mysql_query("SELECT items FROM mytable WHERE user_id='$id'"); $array=array(); while($row=mysql_fetch_assoc($result)){ //insert values into array $array=$row; $sum=array_sum($row); echo $sum; }

我正在查询数据库。然后将结果值插入一个数组并求其和。代码如下:

$result=mysql_query("SELECT items FROM mytable WHERE user_id='$id'");
$array=array();
while($row=mysql_fetch_assoc($result)){
    //insert values into array
    $array=$row; 
    $sum=array_sum($row); 
    echo $sum;
}
这只返回数组中的项目,而不是总和。我该怎么纠正呢? Ps:我之前在这里尝试过这个,但它的正确结果是:

$result=mysql_query("SELECT items FROM mytable WHERE user_id='$id'");
$row = mysql_fetch_array($result, MYSQL_NUM); 
$sum = array_sum($row);
echo $sum;
谢谢

为什么不直接使用userid=$id的mytable中的selectsumtimes呢?如果您将这种事情推送到数据库服务器上,您将节省CPU

$result = mysql_query("SELECT items FROM mytable WHERE user_id='$id'");
$array = array();
$sum = 0;
while($row=mysql_fetch_assoc($result)){
  //insert values into array
  $array[] = $row; 
  $sum += $row;
}
echo $sum;
如果您同时需要数组和相应的和,那么这就是代码。如果您只需要求和,那么如果您让数据库通过将查询转换为

$result = mysql_query("SELECT SUM(items) FROM mytable WHERE user_id='$id'");
$sum = mysql_fetch_assoc( $result );

使用数据库层通常比业务逻辑更快

$result=mysql_query("SELECT SUM(items) AS mysum FROM mytable WHERE user_id='$id'");
$row = mysql_fetch_array($result, MYSQL_ASSOC); 
/* always use assoc to prevent yourself from errors after table's modification */
echo $row['mysum'];

我同意-如果这是您所需要的,那么将求和部分作为查询的一部分,即,如果您只是在之后丢弃数组:实际上,在实际代码中,我从数据库中选择了多个项,如下所示:$result=mysql_querySELECT name,quantity,price,items from mytable,其中user_id=$id';现在,如何使用数组从上述查询中获取“items”的总和?替换$sum+=$行;“$sum+=$row['items'”;