2011-05-17 64 views
2

我想要获取我的评级列的评分列的平均值。 这是迄今用于SELECT AVG的MySQL PHP(列)返回资源ID 3

$averagereviewquery = "SELECT AVG(review_rating) from reviews where product_id=".$primarykey;    
$averagereviewresult=mysql_query($averagereviewquery); 

       if($insert_review){ //successful insert 
        echo $averagereviewresult; 
       } 

做什么情况是averagereviewresult返回“资源ID 3”。我该如何改变它以显示平均值?

回答

4

mysql_query确实会返回资源。您需要明确地从您的查询中读取值以获得结果。一种方法是使用mysql_result

echo mysql_result($averagereviewresult, 0); 
+0

太棒了,谢谢! – 2011-05-17 19:06:34

+0

@ValianthX没问题! – alexn 2011-05-17 19:06:52

2

你错过获取的实际数据

$结果= mysql_result($ averagereviewquery,0);

0
SELECT AVG(review_rating) AS review_rating_avg ... 
2

你需要一个数组首先提取结果。

$averagereviewquery = "SELECT AVG(review_rating) from reviews where product_id=".$primarykey;    
$averagereviewresult=mysql_query($averagereviewquery); 

if($insert_review){ //successful insert 
     $row = mysql_fetch_array($averagereviewresult); 

     echo $row[AVG(review_rating)]; 
}