你好,伙计们,我正在尝试从数据库中检索数据我调试了所有东西,它正常工作我的问题是网站没有进入第二个循环因为当我尝试打印计数器和任何总和时,它会给我0他是我代码中出现问题的一部分:
<?php
error_reporting(0);
require 'db/connect.php';
$results= $db->query("SELECT * FROM instructors");
$counter=0;
while($row = $results->fetch_assoc()){
$id=$row['id'];
$query="SELECT * FROM Instructors LEFT OUTER JOIN ratings ON instructors.id=ratings.instructor Where instructors.id=".$id;
$sum1=0;
$sum2=0;
$sum3=0;
$count=0;
if($result = $db->query($query)){
while ($rowe = $result->fetch_assoc()) {
$sum1+=$rowe['teaching_rating'];
$sum2+=$rowe['marks_rating'];
$sum3+=$rowe['help_rating'];
$count++;
}
$result->free();
}
echo "<script> console.log('".$count."')</script>";
$overall=(($sum1/$count)+($sum2/$count)+($sum3/$count))/3;
$overall = floor($overall * 2) / 2;
}
?>
前面的方法在服务器上运行良好,但存在上述问题以下方法完全适用于localhost,但当我将其上传到服务器时,它会给出php错误
while($row = $results->fetch_assoc()){
$id=$row['id'];
$results1=$db->query("SELECT * FROM Instructors LEFT OUTER JOIN ratings ON instructors.id=ratings.instructor Where instructors.id=". $id);
$sum1=0;
$sum2=0;
$sum3=0;
$count=0;
while ($rowe = $results1->fetch_assoc()){
$sum1+=$rowe['teaching_rating'];
$sum2+=$rowe['marks_rating'];
$sum3+=$rowe['help_rating'];
$count++;
}
$overall=(($sum1/$count)+($sum2/$count)+($sum3/$count))/3;
$overall = floor($overall * 2) / 2;
所以请帮我修复其中一个或两个
尝试这样做。。。
$sum1=0;
$sum2=0;
$sum3=0;
$count=0;
while($row = $results->fetch_assoc()){
$id=$row['id'];
$query="SELECT * FROM Instructors LEFT OUTER JOIN ratings ON instructors.id=ratings.instructor Where instructors.id=".$id;
$result = $db->query($query);
while ($rowe = $result->fetch_assoc()) {
$sum1+=$rowe['teaching_rating'];
$sum2+=$rowe['marks_rating'];
$sum3+=$rowe['help_rating'];
$count++;
}
$result->free();
}
echo "<script> console.log('".$count."')</script>";
$overall=(($sum1/$count)+($sum2/$count)+($sum3/$count))/3;
$overall = floor($overall * 2) / 2;
//do something with $overall i guess
外部查询中出现问题:选择*FROM讲师而非讲师奇怪的是本地主机运行良好
但是服务器不工作可能是因为版本号的差异