我有两个问题,最终几乎完全相同。但由于某种原因,第一个工作完美无缺,第二个工作没有向数据库添加任何内容,也没有给出任何错误。
有效的那个看起来像这样:
public function insertPits($pitstop, $RaceID, $managerId, $seasonNumber, $raceNumber) {
$sqlpit = "insert into pitstop (RaceID,managerid,season,race,PitStopNo,LapNo, Reason,TyreWear,FuelLeft,FuelLoad,PitTime) values ";
foreach ($pitstop as $pitstop){
$sqlpit .= "($RaceID,$managerId,$seasonNumber,$raceNumber,$pitstop[0],$pitstop[1],'$pitstop[2]',$pitstop[3],$pitstop[4],$pitstop[5],$pitstop[6]),";
}
$sqlpit =rtrim($sqlpit,",");
mysqli_query($GLOBALS["___mysqli_ston"], $sqlpit);
}
一个不能正常工作的人:
public function insertStints($stints, $RaceID, $managerId, $seasonNumber, $raceNumber) {
$sqlstint = "insert into stint (RaceID,managerid,season,race,StintNo,Tyre) values ";
foreach ($stints as $stints) {
$sqlstint .= "($RaceID,$managerId,$seasonNumber,$raceNumber,$stints[0],$stints[7]),";
}
$sqlstint =rtrim($sqlstint,",");
mysqli_query($GLOBALS["___mysqli_ston"], $sqlstint);
}
$ pitstop和$ stints都是完全相同的数组,只是名称不同。 pitstop数据库填充正确,stints数据库保持为空而没有错误。
$ sqlstint将此显示为echo,这是正确的..但它不会添加任何内容:
insert into stint (RaceID,managerid,season,race,StintNo,Tyre)
values (40978,65,60,3,1,Extra Soft),
(40978,65,60,3,2,Extra Soft),
(40978,65,60,3,3,Extra Soft)
有没有人知道如何解决这个问题,或者如何以不同方式做到这一点(可能将它们组合成一个函数......但说实话......我也不知道如何做到这一点)。希望得到您的反馈!