PHP脚本从phpbb SQL DB中给出null输出


PHP script giving null output from phpbb SQL DB

首先:如果涉及到PHP脚本,我是一个完全的新手,所以我刚刚从网站上获得了这个脚本,作者说它非常有效。

 <?php
// How Many Topics you want to display?
$topicnumber = 5;
// Scrolling towards up or down?
$scroll = "up";
// Change this to your phpBB path
$urlPath = "/forum";
// Database Configuration (Where your phpBB config.php file is located)
include 'forum/config.php';
$table_topics = $table_prefix. "topics";
$table_forums = $table_prefix. "forums";
$table_posts = $table_prefix. "posts";
$table_users = $table_prefix. "users";
$link = mysql_connect("$dbhost", "$dbuser", "$dbpasswd") or die("Could not connect");
mysql_select_db("$dbname") or die("Could not select database");
$query = "SELECT t.topic_id, t.topic_title, t.topic_last_post_id, t.forum_id,
p.post_id, p.poster_id, p.post_time, u.user_id, u.username
FROM $table_topics t, $table_forums f, $table_posts p, $table_users u WHERE t.topic_id = p.topic_id AND f.forum_id = t.forum_id AND t.topic_status = 2 AND p.post_id = t.topic_last_post_id AND p.poster_id = u.user_id ORDER BY p.post_id DESC LIMIT $topicnumber";
$result = mysql_query($query) or die("Query failed");
echo "
";
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "
";
}
print "
" .
$row["topic_title"] .
"    by: " .
$row["username"] .
"   
" .
date('F j, Y, g:i a', $row["post_time"]) .
"
";
mysql_free_result($result);
mysql_close($link);
?>

尽管当我使用它时,它给了我一个奇怪的输出,"截止时间:1969年12月31日,晚上7:00"。而不是(它现在应该找到的唯一主题)"Test1 by:Criticaltum July 82012,10pm"。

有谁能弄清楚这里面出了什么问题?(通过本页面右侧的iframe使用:网站)

附言:它应该得到主题名称,作者,日期和amp;我的phpbb3论坛上最后5个帖子的时间。

PPS:这是iframe代码

<!-- Recent posts -->
<div class="divx" style="position:absolute; top:170px; right:10px; width:200px; height:300px;">
<iframe height="300px" width="200px" scrolling="no" src="fetch.php">
</iframe>
</div>

设法修复它:

<?php
// How Many Topics you want to display?
$topicnumber = 5;
// Scrolling towards up or down?
$scroll = "up";
// Change this to your phpBB path
$urlPath = "/forum";
// Database Configuration (Where your phpBB config.php file is located)
include 'forum/config.php';
$table_topics = $table_prefix. "topics";
$table_forums = $table_prefix. "forums";
$table_posts = $table_prefix. "posts";
$table_users = $table_prefix. "users";
$link = mysql_connect("$dbhost", "$dbuser", "$dbpasswd") or die("Could not connect");
mysql_select_db("$dbname") or die("Could not select database");
$query = "SELECT t.topic_id, t.topic_title, t.topic_last_post_id, t.forum_id,
p.post_id, p.poster_id, p.post_time, u.user_id, u.username
FROM $table_topics as t, $table_forums as f, $table_posts as p, $table_users as u WHERE t.topic_id = p.topic_id AND f.forum_id = t.forum_id AND t.topic_status != 2 AND p.post_id = t.topic_last_post_id AND t.topic_last_poster_id = u.user_id ORDER BY p.post_id DESC LIMIT $topicnumber";
$result = mysql_query($query) or die("Query failed");
echo "";
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "";
print "<a href='"forum/viewtopic.php?f=" .$row["forum_id"] ."&t=" .$row["topic_id"] ."'"><font color='"darkred'">" .$row["topic_title"] ."</font></a>       by: <a href='"forum/memberlist.php?mode=viewprofile&u=" .$row["user_id"] ."'"><font color='"darkred'">" .$row["username"] ."</font></a> 
" .date('F j, Y, g:i a', $row["post_time"]) ."<br/><br/>";
}
mysql_free_result($result);
mysql_close($link);
?>

添加了链接&当我在那里的时候:>

典型的PHP脚本和典型的PHP问题-没有任何检查。

  • 检查错误代码
  • 检查返回的行数
  • 检查发送到表的SQL
  • 手动运行SQL并检查结果

我相信你会明白的。