所以我使用while语句对空值进行了验证,代码是
while (!$rs->EOF){
echo "<tr><td>".$rs->Fields("Branch")."</td>";
$rs->movenext();
}
$rs->Close();
?>
我想要实现的是有一个"else"语句,尽管我知道使用where语句是不可能的。在where语句中,哪一个等价于它?
while (!$rs->EOF){
echo "<tr><td>".$rs->Fields("Branch")."</td>";
$rs->movenext();
}
if(!$rs->EOF)
{
echo "<tr><td> Branch is missing</td>";
}
$rs->Close();
?>
我试着使用"if",虽然它没有打印出我想要打印的,但我没有得到任何错误
而Else在php中不存在。
您可以使用:
if ($rs->EOF) {
echo "<tr><td> Branch is missing</td>";
} else {
while (!$rs->EOF){
echo "<tr><td>".$rs->Fields("Branch")."</td>";
$rs->movenext();
}
}
$rs->Close();
我想建议一种稍微不同的方法来解决这个问题,它在我的脑海中更有意义:
if (!$rs.EOF()) {
while (!$rs.EOF()) {
// code...
}
}
else {
// code...
}
我认为这对我来说更有意义,因为你通常希望你的预期结果在if块中处理,而其他结果在else块中处理。
while (!$rs->EOF){
的意思是"继续这样做,直到$rs->EOF
变成true
"。当它结束时,$rs-EOF
将始终为true(否则循环就不会结束),因此条件永远不会通过
您需要在某个时间点(可能在while
循环之前)进行测试,看看是否找到任何结果。如果不知道你在使用什么库,就不可能说出如何做到这一点。
在尝试循环通过结果集之前,您应该检查结果集是否为空。
例如,类似这样的伪代码:
rs = sql("SELECT ...");
if (rs.isEmpty())
print "No data";
else
{
while (!rs.EOF())
{
...
}
}
我认为下面的代码会对你有所帮助,
<?php while (!$rs->EOF){
if($rs->Fields("Branch"))
{
echo "<tr><td>".$rs->Fields("Branch")."</td>";
$rs->movenext();
}else{
echo "<tr><td> Branch is missing</td>";
}
}
$rs->Close();
?>