2013-06-02 3 views
-1

Я пытаюсь отобразить два набора данных из таблицы, но я продолжаю получать общую ошибку сервера (внутренняя ошибка сервера HTTP 500). Первый набор данных в разделе «Список ожидающих приложений» предназначен для отображения данных из таблицы «EOI_AC_Data», где запись в поле «choice1_offer» является «N», первоначально, когда я создал этот файл php и отображал только эти данные он работал нормально, и когда я добавил во втором запросе, он начал приходить с ошибкой сервера. Второй запрос - это среднее значение для отображения точной противоположности, которая отображает данные из таблицы, где запись в поле «choice1_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), 'после открытия'

+0

@AnthonySterling, но как он может отображать ошибки, если страница вообще не загружается? Я просто получаю «Веб-сайт не может отображать страницу» – AJJ

+0

Вы пробовали? Вы получаете 500 из-за ошибки, добавив вышеупомянутый код, чтобы помочь отобразить эту ошибку. –

ответ

1

Это не решение, а. (потому что ваш код выглядит нормально)

Зачем вы получаете это сообщение?

  1. Ошибка с помощью файла .htaccess
  2. PHP Coding таймаут

Глядя на ваш код его, вероятно, # 2.

Почему я так говорю? Поскольку неправильный синтаксис в циклах while приведет к таймауту.

Решение:

Единственная помощь, которую я могу дать предложение для отладки. Удалите петли один за другим и посмотрите, вызвана ли ошибка одной из них.

Если вы обнаружите, какой цикл дважды проверяет любой прокомментированный код или что-то еще, что может привести к ошибке.

+0

Это была проблема в моем цикле while, мне пришлось переместить закрытие} и добавить mysql_close на конец одной из петель. – AJJ

1

вы забыли использовать ; на ниже линии

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

EDIT 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

Я только что добавил те, и я все еще получал ту же ошибку. – AJJ

+0

Я тоже пробовал ваше редактирование, но у меня все еще есть такая же проблема – AJJ

+0

, тогда у вас проблемы с вашим подключением. try '$ conn = mysql_connect (" localhost "," twa312 "," dam6av9a ") или die (mysql_error());'. вы уверены, что ваш db находится в localhost? – Amir

0

php.net От:

PHP требует инструкции завершаться точкой с запятой в конце каждого оператора. Закрывающий тег блока кода PHP автоматически означает точку с запятой; вам не нужно иметь точку с запятой, завершающую последнюю строку блока PHP. Заключительный тег для блока будет включать в себя сразу же завершающую новую строку, если таковая присутствует.

Так что вам нужно заменить:

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

с:

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

и ваш код будет работать правильно при условии подключения SQL и запросов правильны.

PS: Вы должны использовать MySQLi или PDO вместо mysql_* функций, которые устарели. More information available here.

Смежные вопросы