2013-06-02 55 views
-1

我試圖從表中顯示兩組數據,但我一直收到一個通用服務器錯誤(HTTP 500內部服務器錯誤)。 「待處理應用程序列表」下的第一組數據是爲了顯示錶「EOI_AC_Data」中的數據,其中「choice1_offer」字段中的條目是「N」,最初是當我創建此php文件並且僅顯示該數據時它工作得很好,當我在第二個查詢中添加它時,它開始出現服務器錯誤。第二個查詢的意思是顯示完全相反,它顯示來自表中「entry1_offer」字段中的條目爲「Y」的表中的數據。這裏是我的代碼:用PHP/MYSQL顯示錶數據

<?php 
$conn = mysql_connect("localhost", "twa312", "dam6av9a"); 
mysql_select_db(twa312, $conn) 
or die ('Database not found ' . mysql_error()); 

$sql = "SELECT * FROM EOI_AC_Data WHERE choice1_offer = 'N'"; 
$sql2 = "SELECT * FROM EOI_AC_Data WHERE choice1_offer = 'Y'"; 
$rs = mysql_query($sql, $conn) or die ('Problem with query' . mysql_error()); 
$rs2 = mysql_query($sql2, $conn) or die ('Problem with query' . mysql_error()); 
?> 

<p><b>Listing of pending applications</b></p> 

<?php while ($row = mysql_fetch_array($rs)) { ?> 
<p><a href="comments_form.php?appid=<?php echo $row["ApplicationID"]?>"> 
<?php echo $row["ApplicationID"]?></a> 
<?php echo $row["given_name"]?> 
<?php echo $row["family_name"]?> 
<?php echo $row["dob"] } ?></p> 

<p><b>Listing of completed applications</b></p> 

<?php while ($row2 = mysql_fetch_array($rs2)) { ?> 
<p><?php echo $row2["ApplicationID"]?> 
<?php echo $row2["given_name"]?> 
<?php echo $row2["family_name"]?> 
<?php echo $row2["dob"]?></p> 

<?php } mysql_close($conn); ?> 

任何形式的幫助將是巨大的,因爲我是新來的這些語言和我堅持這個問題。

+0

放置'error_reporting(-1); ini_set('display_errors',true);'打開'<?php'標籤後,它應該有助於提供一些見解。 安東尼。 –

+0

@AnonySterling,但如果頁面根本無法加載,它如何顯示錯誤?我只是得到「網站無法顯示頁面」 – AJJ

+0

你試過了嗎?您因錯誤而獲得500,添加上述代碼應該有助於顯示該錯誤。 –

回答

1

這不是一個真正的解決方案,但。 (因爲你的代碼顯得很好)

你爲什麼會收到這條消息?

  1. 錯誤使用.htaccess文件
  2. PHP編碼超時

在你的代碼它可能#2展望。

我爲什麼這麼說?由於while循環中的錯誤語法會導致超時。

解決方案

唯一的幫助,我可以給一個建議調試。逐個刪除循環,看看是否有錯誤。

如果您發現哪個循環,請仔細檢查所有評論代碼或其他可能導致錯誤的代碼。

+0

它實際上是我的while循環內的一個問題,我不得不移動一個閉合}並添加一個mysql_close其中一個循環的末尾。 – AJJ

1

您忘記以低於線

$rs = mysql_query($sql, $conn); 

編輯1使用;:再次你的代碼有錯誤。正確

$rs = mysql_query($sql, $conn) or die ('Problem with query' . mysql_error()); 
$rs2 = mysql_query($sql2, $conn) or die ('Problem with query' . mysql_error()); 
+0

我剛剛添加這些和IM仍然得到相同的錯誤 – AJJ

+0

我試過你的編輯,但我似乎仍然有相同的問題 – AJJ

+0

那麼你有你的連接問題。嘗試'$ conn = mysql_connect(「localhost」,「twa312」,「dam6av9a」)或死(mysql_error());'。你確定你的數據庫在本地主機? – Amir

0

php.net

PHP需要的說明在每個語句的結束分號結束。一段PHP代碼的結束標記自動包含分號;你不需要用分號來終止PHP塊的最後一行。塊的結束標記將包括緊接着的換行符(如果存在的話)。

所以你需要更換:

<?php echo $row["dob"] } ?></p> 

有:

<?php echo $row["dob"]; } ?></p> 

,你的代碼將正常工作假設SQL連接和查詢是正確的。注意:您應該使用MySQLi或PDO而不是mysql_*函數,這些函數已被棄用。 More information available here