首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >输出在while循环后停止,不使用"or die()“

问输出在while循环后停止,不使用"or die()“
EN

Stack Overflow用户
提问于 2013-02-28 06:15:57
回答 1查看 281关注 0票数 1

我知道还有另一个具有相同主题的问题,但这个问题涉及到or die()语句。我也有同样的问题,但是我没有在while循环中使用或die()语句。答案可能很明显,但我想不出来。

代码语言:javascript
复制
$Dates = "1";
$Select = $mysqli->query("SELECT * FROM ----");
while ($Dates != "") {
$Dates = $Select->fetch_assoc();
$Get = $mysqli->query("SELECT * FROM " . $Dates["Meeting_Date"] . " WHERE Last_Name='" . $LName . "'");
$Vals = $Get->fetch_assoc();
if ($Vals != "") {
$TimeIn = $Vals["Time_In"];
$TimeIn2 = explode(":",$TimeIn);
$TotIn = ($TimeIn2[0]*60)+$TimeIn2[1];
$TimeOut = $Vals["Time_Out"];
$TimeOut2 = explode(":",$TimeOut);
$TotOut = ($TimeOut2[0]*60)+$TimeOut2[1];
$TotTime = ($TotOut - $TotIn)/60;
$TotalTime = floor($TotTime) . " Hours " . ($TotTime-floor($TotTime))*60 . " Minutes";
echo "<tr><td>" . str_replace("_","/",$Dates["Meeting_Date"]) . "</td><td>" . $TimeIn . "</td><td>" . $TimeOut . "</td><td>" . $TotalTime . "</td></tr>";
}
if ($Vals == "") {
echo "<tr><td>" . str_replace("_","/",$Dates["Meeting_Date"]) . "</td><td colspan='3' style='background-color: rgba(0,0,0,0.25)'>Did not Attend</td></tr>";
}
}

我放在while循环之后的任何东西都不会执行,即使while循环只执行2次,就像它应该执行的那样……

任何想法都很受欢迎。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-28 06:21:08

这就是问题:

代码语言:javascript
复制
while ($Dates != "") {
  $Dates = $Select->fetch_assoc();
  $Get = $mysqli->query("SELECT * FROM " . $Dates["Meeting_Date"] . " WHERE Last_Name='" . $LName . "'");

当没有更多的记录时,$Dates将为空(NULL),因此下一行将导致致命错误。

您可以将其更改为:

代码语言:javascript
复制
while ($Dates = $Select->fetch_assoc()) {
  $Get = $mysqli->query("SELECT * FROM " . $Dates["Meeting_Date"] . " WHERE Last_Name='" . $LName . "'");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15123539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档