你好我试图从数据库中检索数据 我调试了everthing,它正常工作 我的问题是网站没有进入第二个循环 因为当我试图打印计数器和任何总和它给我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;
所以请帮我修一个或两个可能
答案 0 :(得分:0)
尝试这样做......
$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
答案 1 :(得分:0)
外部查询中存在问题: SELECT * FROM教师而不是教师 本地主机工作正常的奇怪之处
但服务器不起作用 也许是因为版本号的差异