В чем проблема с этим PHP-кодом? - PullRequest
0 голосов
/ 02 марта 2011

Это простой код php, который я использую для просмотра содержимого форума.Проблема в том, что он нормально работает на одном из моих ноутбуков, но на втором не показывает результат.

  // Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

$sql="SELECT * FROM $tbl_name ORDER BY id DESC";
// OREDER BY id DESC is order result by descending
$result=mysql_query($sql);
?>
<table width="90%" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<td width="6%" align="center" bgcolor="#E6E6E6"><strong>#</strong></td>
<td width="53%" align="center" bgcolor="#E6E6E6"><strong>Topic</strong></td>
<td width="15%" align="center" bgcolor="#E6E6E6"><strong>Views</strong></td>
<td width="13%" align="center" bgcolor="#E6E6E6"><strong>Replies</strong></td>
<td width="13%" align="center" bgcolor="#E6E6E6"><strong>Date/Time</strong></td>
</tr>

<?php
while($rows=mysql_fetch_array($result)){ // Start looping table row
?>
<tr>
<td bgcolor="#E6E6E6"><? echo $rows['id']; ?></td>
<td bgcolor="#E6E6E6"><a href="view_topic.php?id=<? echo $rows['id']; ?>"><? echo $rows['topic']; ?></a><BR></td>
<td align="center" bgcolor="#E6E6E6"><? echo $rows['view']; ?></td>
<td align="center" bgcolor="#E6E6E6"><? echo $rows['reply']; ?></td>
<td align="center" bgcolor="#E6E6E6"><? echo $rows['datetime']; ?></td>
</tr>

Я проверил все остальное, и они, кажется, в порядке.Данные присутствуют в базе данных, но не отображаются на форуме.Кто-нибудь может мне помочь в этом?операционная система: win7

Ответы [ 2 ]

2 голосов
/ 02 марта 2011

Вы должны использовать

<?php echo $rows['id']; ?> вместо <? echo $rows['id']; ?>

Короткая метка может быть отключена.

2 голосов
/ 02 марта 2011

время учиться отладке, приятель

Хорошее место для начала: http://www.ibm.com/developerworks/library/os-debug/

для mysql чрезвычайно удобно выполнять запросы следующим образом:

$result=mysql_query($sql) or trigger_error(mysql_error()." ".$sql);

и убедитесь, что вы видите все возникшие ошибки. если вы не можете быстро это исправить, вы можете добавить эти строки вверху скрипта

ini_set('display_errors',1);
error_reporting(E_ALL);

но для состояния производства display_errors значение должно быть изменено на 0

Рекомендуется также проверять исходный код HTML, а не просматривать отображаемую страницу в браузере. Он сообщит вам, есть ли у вас проблемы с короткими тегами или нет. Всегда полезно знать, есть ли у вас какие-либо проблемы, прежде чем приступить к их устранению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...