2014-03-24 60 views
-1

我正在php中运行以下mysql查询。Mysql SUM总是返回1在php中

$result = mysql_query("SELECT SUM(profit) FROM customers;"); 
$sum_profit = mysql_num_rows($result); 
echo $sum_profit;" 

和响应$ sum_profit将返回始终为1的时候,此表中的利润已经充满了以下内容:

profit 
0.00 
1.00 
1.00 
0.00 
11.28 

的类型profit列的是double(10, 2)。有什么我失踪?

+2

您正在使用mysql_num_rows返回的行数。那会是1! – Riz

+1

DOUBLE!?!?千真万确! – Strawberry

回答

5

mysql_num_rows()返回查询返回的行数。在这种情况下,它是一行。您正在寻找返回结果集的任何函数。一个例子是mysql_fetch_row()

$result = mysql_query("SELECT SUM(profit) FROM customers;"); 
$row = mysql_fetch_row($result); 
echo $row[0]; 
2

试试这个;

$result = mysql_query("SELECT SUM(profit) as totalprofit FROM customers;"); 
$row = mysql_fetch_row($result); 
echo $row[totalprofit]; 

希望它可以帮助

+0

这是行不通的。 mysql_fetch_row返回int键。您正在寻找mysql_fetch_assoc。 –

+0

警告:mysql_fetch_assoc()期望参数1是资源,布尔给定。它需要是mysql_fetch_row –