当我运行没有UNION的代码并且有一个SELECT时它工作正常,但是当我尝试将所有代码一起运行时,它不会将数据插入表中,或者以不同的方式尝试不使用UNION,这里。在一个查询中使用UNION的两个INSERT语句
<?php
include("conf.php");
$query = "INSERT INTO fund(Team, GamesPlayedHome, GoalsScorredHome, GoalsAcceptedHome, RedCardGotHome, AvarageGoalsScorredHome, AvarageGoalsAcceptedHome, GamesPlayedAway, GoalsScorredAway, GoalsAcceptedAway, RedCardGotAway, AvarageGoalsScorredAway, AvarageGoalsAcceptedAway)
SELECT HomeTeam As Team, COUNT(HomeTeam) AS GamesPlayedHome, SUM(HomeGoals) AS GoalsScorredHome, SUM(AwayGoals) AS GoalsAcceptedHome, SUM(HomeRedCards) AS RedCardGotHome,
SUM(HomeGoals)/COUNT(HomeTeam) AS AvarageGoalsScorredHome, SUM(AwayGoals)/COUNT(HomeTeam) AS AvarageGoalsAcceptedHome
FROM GetHistoricMatchesByLeagueAndDateInterval GROUP BY HomeTeam ORDER BY HomeTeam ASC
UNION ALL
SELECT COUNT(AwayTeam) AS GamesPlayedAway, SUM(AwayGoals) AS GoalsScorredAway, SUM(HomeGoals) AS GoalsAcceptedAway, SUM(AwayRedCards) AS RedCardGotAway,
SUM(HomeGoals)/COUNT(AwayTeam) AS AvarageGoalsScorredAway, SUM(AwayGoals)/COUNT(AwayTeam) AS AvarageGoalsAcceptedAway
FROM GetHistoricMatchesByLeagueAndDateInterval GROUP BY AwayTeam ORDER BY AwayTeam ASC";
$data= mysqli_query($conn,$query) or die(mysqli_error());
while($row = mysqli_fetch_assoc($data)){
foreach($row as $cname => $cvalue){
print "$cname: $cvalue\t";
}
print "\r\n";
}
?>
您是否收到任何错误? –
“union”的两个查询中的列需要相同。你的专栏显然不一样。获得'union'('union all'是更可取的)在没有'insert'的情况下工作。 –
我用'UNION ALL'尝试过,但仍然不起作用。并且我得到了'PHP警告:mysqli_error()期望在第12行的C:\ query.php中给出正好1个参数,0' – user3255412