我有一些代码不能产生任何东西,甚至没有错误信息。我试图在while循环中回显结果,但即使这样也没有显示任何内容。有什么提示吗?
foreach($droppedStudentIds as $value){
$query3 = "select * from student_classlists where StudentId = '$value' and ClassListDate = (select max(ClassListDate) from student_classlists)";
if($result = mysqli_query($mysqli, $query3)) {
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
echo "Date: ".$row['ClassListDate'];
$droppedStudentIds[$value][] = $row['ClassListDate'];
}
mysqli_free_result($result);
} else die ("Could not execute query 3");
}
我的目标是查找$ droppedStudentIds数组中每个元素的日期信息。我检查了MySQL查询本身,它产生了所需的结果。
谢谢!
答案 0 :(得分:1)
你要分配到你在这一行上循环的数组:
$droppedStudentIds[$value][] = $row['ClassListDate'];
这可能导致您的脚本超时,这就是您没有看到任何输出的原因。
我会添加第二个数组以避免冲突,并使用它来存储查询结果,例如
$temp[$value] = $row['ClassListDate'];
答案 1 :(得分:0)
感谢大家的回复,它帮助确定了错误!
查询实际上是错误的。无论StudentId是否存在,子选择都在数据库中获得最大日期。正确的查询如下:
从student_classlists中选择ClassListDate,其中StudentId ='$ value'和ClassListDate =(从student_classlists中选择max(ClassListDate),其中StudentId ='$ value')
再次感谢!