0

多年来,我一直在检查此代码,试图找出导致此错误的原因。它说的是意外的 T_ELSE,它指向代码中的最后一个 else。有人可以指出我的错误。非常感谢

<?php

    error_reporting(E_ALL);

// AFTER SUCCESSFUL QUERY
if (mysql_num_rows() == 0)
{
    echo '<div class="no-rec">No Record Found !</div>';
}
else
{
    while ($row = mysql_fetch_assoc($rsd))
    {
        $ticket  = $row['ticket_frm'];
        $rowdate = date("d/m/Y",strtotime($row['date_frm']));
        $id      = $row['id_frm'];
        $from    = $row['from_frm'];
        $subject = $row['subject_frm'];
        $message = $row['message_frm'];

        $myString = <<<ENDMYSTRING
          <div class="each_rec">
          <div class="record blue" data-message="$message" data-subject="$subject" data-rowdate="$rowdate" data-from="$from">
          <img src="images/sml_new_mail_icon.gif" class="mailIcon" alt="" /><span class="iconSubject">$subject</span>
          <div class="rowdate">$rowdate</div>
          <span class="mailFrom">$from</span>
          </div>
          <br />
ENDMYSTRING;
          echo $myString;
    }
}

else

{

  echo 'you must enter a ticket#';

    //$sql = "select * from contact_frm";
    //var_dump(mysql_error());
}
?>
4

4 回答 4

3
if (mysql_num_rows() == 0) {

} else {
    ^ maybe here you could put elseif()
} else {
   // or just remove this else
}
于 2012-12-08T10:25:55.227 回答
1

是的,就在你之前,你已经有一个 else 用于你的 if (mysql_num_rows() == 0) 测试;然后你为“必须提供票”提供另一个

也许你的意思是

elseif (mysql_num_rows() >= 1)

在while循环之前

于 2012-12-08T10:26:32.113 回答
1

你有一个看似if-else-else声明的东西。我不知道任何有效的语言:-)

你需要重新考虑你的逻辑或你对语言元素的使用。

在这里进行一些明智的猜测(我意识到这充满了危险),您正在检查前面返回的行这一事实似乎表明else在此之前很久就应该完成一个说明没有输入票号的块。

所以这可能是一个剪切粘贴错误,或者你if-else在错误的位置插入了一个,或者你在if你拥有的那个之前错过了另一个,而你现在的那个在true块中。

我要做的第一件事就是完全摆脱第二部分else,然后从那里开始。

然后,如果存在逻辑问题,请在此处发布另一个问题并让我们放松。

于 2012-12-08T10:27:14.137 回答
0

在这里,您添加了两个 else 子句。

于 2012-12-08T10:28:07.197 回答