有一个名为discussion.php
的表单,其中用户将填写他/她的问题/讨论并将post
填写为savedisc.php
。有些savedisc.php
看起来像这样:
$message = $_POST['message'];
$title = $_POST['title'];
$represents = $_POST['represents'];
//connect to database
//save the content of discussion/question into the database for future use
$sql="INSERT INTO Discussion (Message, Title, Type)
VALUES
('$message','$title','$represents')";
//Display user's question/discussion again
echo $message . "<br />";
echo $title . "<br />";
echo $represents . "<br />";
上面没有显示,但是我手动保存id
字段,即通过phpmyadmin作为自动增量和主键。因此,表Discussion
中的所有值都有自己唯一的id
。保存问题/讨论后,我希望能够在$title
上显示每个问题的wb.php
作为链接,现在看起来像这样(来自wb.php
的一些代码) :
$result = mysql_query("SELECT * FROM Discussion ORDER BY id DESC");
//When user clicks the question/discussion Title, he/she will be directed to wbcomm.php
while($row = mysql_fetch_array($result))
{
echo "<a href='wbcomm.php' >{$row['Title']}</a><br />";
}
直到这里,一切顺利。但是,从现在开始,我要做的是,当用户通过上面的代码点击问题/讨论标题时,我希望他/她被定向到wbcomm.php?id=1
,其中id=1
代表问题/讨论的唯一ID。 wbcomm.php
中的部分代码如下:
if (isset($_GET['id']))
{
//connect to db
$wbid = mysql_real_escape_string($_GET['id']);
$sql = "SELECT * FROM Discussion WHERE id = '$wbid' LIMIT 1";
$res = mysql_query($sql);
if (mysql_num_rows() > 0) {
$discussion = mysql_fetch_object($res);
//display member's question here:
echo $discussion['id'] . "<br />";
echo $discussion['Title'] . "<br />";
echo $discussion['Type'] . "<br />";
echo $discussion['Message'] . "<br />";
}
else {
// discussion does not exist with ID
}
}
但是,由于某种原因,结果是空白的。即问题/讨论甚至没有出现。我究竟做错了什么?我的手术是否正确?
谢谢。
答案 0 :(得分:2)
在wb.php
中,您创建了一个指向wbcomm.php
的链接,但您没有传递讨论的ID,因此您的$wbid
将为空。您需要将ID与链接一起传递,如下所示:
while($row = mysql_fetch_array($result))
{
echo "<a href='wbcomm.php?id={$row['id']}' >{$row['Title']}</a><br />";
}
答案 1 :(得分:0)
您的ID列是自动增量int类型,因此您无需将其放在引号中或对其进行转义。你应该测试它,看看它是否是数字。
答案 2 :(得分:0)
使用此SQL mysql_num_rows($res) > 0