2016-07-23 78 views
-2

我在这个查询结果上错了,有人可以帮我。加入查询错误未知索引

<?php 

include 'dbconfig.php'; 
$sql = 'SELECT SUM(total_fund.total_funds), total_fund .name from total_fund join project 
     WHERE total_fund.funds_id = project.project_id AND project_id=1200 GROUP BY project.project_id'; 
$retval = mysqli_query($dbconfig, $sql); 

while ($data = mysqli_fetch_array($retval)) { 

    echo $data['total_funds'] . '</br>'; 
    echo $data['name']; 
} 
?> 
+0

不应该是这样的:'SELECT字段FROM table1 INNER JOIN table2 ON table1.field = table2.field WHERE conditions'? (通知我使用了'ON') – FirstOne

+0

另外,请确保您在连接中使用了正确的列名称。您使用了'total_fund.funds_id = project.project_id',但它们看起来不像相关的列。 – FirstOne

+0

什么是点名? – Drew

回答

1

有在查询一个错字:

total_fund .name 

应该写成:

total_fund.name 

,你可能需要一个AS别名,反正最好是这样写查询:

select 
    total_fund.name 
    SUM(total_fund.total_funds) as total_funds 
from 
    total_fund join project on total_fund.funds_id = project.project_id 
where 
    project_id=1200 
group by 
    total_fund.name 
+0

查询是正确的,但错误只有别名命名,所以我完成了我的查询。谢谢@fthiella –

0

这里是完整的查询

<?php 

include 'dbconfig.php'; 
$sql = 'SELECT SUM(total_fund.total_funds)AS total, total_fund .name, project.Amount_to_be_raised from total_fund join project 
     where total_fund.funds_id = project.project_id AND project_id=1200'; 
$retval = mysqli_query($dbconfig, $sql); 

while ($data = mysqli_fetch_array($retval)) { 

    echo $data['total'] . '</br>'; 
    echo $data['name']; 
} 
?>