2012-01-14 142 views
0

我完全難住在這裏。我寫了下面的代碼,當我查看頁面時,我得到一個500錯誤。通過逐個註釋選擇行的過程,我能夠發現while語句導致錯誤...任何人都可以告訴我,我的代碼可能有什麼錯誤?php while語句導致500錯誤

<?php 
       $rQuery = "SELECT * FROM roles ORDER BY roleName ASC"; 
       $rResult = mysql_query($rQuery); 

       if (!$rResult){ 
        echo 'Query Error <br>' . $rQuery; 
        exit; 
       } 

      ?> 
      <p> 
       <select name="roleaddid" id="roleaddid" > 

        <?php while ($roles = mysql_fetch_array($rResult)){ ?> 

        <option value="<?php echo $roles['roleId'] ?>"><?php echo $roles['roleName'] ?></option> 

        <? } // end while ?> 

       </select> 

      </p> 

感謝任何見解...

+6

你已經啓用短標記?我注意到你的結尾大括號是,而不是 donutdan4114 2012-01-14 04:57:15

+0

哇,就是這樣。謝謝!!! – Peter 2012-01-14 04:58:40

+0

@ donutdan4114使它成爲一個答案。 – 2012-01-14 05:07:50

回答

3

你需要修復的<? ?>在你結束括號。

更改爲<?php ?>

0

donutdan得到肯定的回答,您必須啓用短標記....也,如果你的使用短標籤,像這樣:<? echo $blank ?>你還是應該結束你的回聲分號,甚至更好然而,調用變量這樣

<?=$variable?> 

這樣你就不必像呼應,每次....

+0

在'?>'之前,分號是可選的。我個人更喜歡它不在那裏,只是簡短的片段。 – cHao 2012-01-14 05:19:21

+0

我知道它是可選的,但我總是喜歡遵循指定的語法,即使是一個條件語句如果有一個動作錯誤我沒有括號,我真的只是表明你不需要回顯<?= $變量? > ...絕對讓事情變得更簡單 – 2012-01-14 05:21:54

0
<?php 

      //add your mysql connect 
      $rQuery = "SELECT * FROM roles ORDER BY roleName ASC"; 
      $rResult = mysql_query($rQuery); 

      if (!$rResult){ 
       echo 'Query Error <br>' . $rQuery; 
       exit; 
      } 

     ?> 
     <p> 
      <select name="roleaddid" id="roleaddid" > 

       <?php while ($roles = mysql_fetch_array($rResult)){ ?> 

       <option value="<?php echo $roles['roleId'] ?>"><?php echo $roles['roleName'] ?></option> 

       <?php } // end while ?> 

      </select> 

     </p>