这个PHP代码有什么问题?

时间:2011-03-02 08:46:33

标签: php mysql windows apache xampp

这是我用来查看论坛内容的简单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 个答案:

答案 0 :(得分:2)

学习调试的时间,朋友。

开始的好地方: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源代码而不是在浏览器中查看呈现的页面也是一种好习惯。如果您对短标签有任何问题,它会告诉您。在修复之前知道你是否有任何问题总是很好的。

答案 1 :(得分:2)

你应该使用

<?php echo $rows['id']; ?>代替<? echo $rows['id']; ?>

短标签可能会被禁用。