我决定使用一年前我为一个我正在制作的网站制作的论坛,一切正常(在我的修订之后),除了在创建主题之后,它不会带你到新帖子。以下是应该实现的功能:
function new_post($name) {
$sqlpost = "SELECT `id` FROM `forum_question` WHERE `name`='$name' ORDER BY `datetime` ASC LIMIT 1";
$mysqlpost = mysql_query($sqlpost);
return $mysqlpost;
}
以下是我的应用方式:<a href="view_topic.php?id=<?php echo new_post($name); ?>">View Post</a>
(请记住,$name
是在文档的前面定义的)
这是创建帖子后我需要访问的网址:http://localhost/Nu-Bio/view_topic.php?id=Resource%20id%20#10
感谢阅读,希望你能提供帮助。另外:我知道我应该使用MySQLi。一旦我完成了我想完成的下几件事,我将会更新〜
答案 0 :(得分:0)
自从我使用mysql_query()以来已经很长时间了,但我相信你正在返回一个数组。试试这个。
return $mysqlpost['id'];
答案 1 :(得分:0)
返回result_query()的值
对于SELECT,SHOW,DESCRIBE,EXPLAIN和其他返回结果集的语句,mysql_query()会在成功时返回资源,或者在出错时返回FALSE。
<?php
function new_post($name) {
$id = 0;
$sqlpost = "SELECT id FROM forum_question WHERE name='".$name."' ORDER BY datetime ASC LIMIT 1";
$mysqlpost = mysql_query($sqlpost);
if (!$mysqlpost) {
die('Invalid query: ' . mysql_error());
}
else
{
$array = mysql_fetch_assoc($mysqlpost);
$id = $array['id'];
}
return $id;
}
?>
答案 2 :(得分:0)
试试这个
function new_post($name) {
$sqlpost = "SELECT `id` FROM `forum_question` WHERE `name`='$name' ORDER BY `datetime` ASC LIMIT 1";
$mysqlpost = mysql_query($sqlpost);
return $mysqlpost;
}
然后检查
echo '<pre>';print_r($mysqlpost);echo '</pre>';
或者你也可以这样做
function new_post($name) {
$sqlpost = "SELECT `id` FROM `forum_question` WHERE `name`='$name' ORDER BY `datetime` ASC LIMIT 1";
$mysqlpost = mysql_query($sqlpost);
return $mysqlpost['id'];
}
答案 3 :(得分:0)
你应该添加mysql_fetch_assoc, 你可以试试这个:
$mysqlpost = mysql_fetch_assoc(mysql_query($sqlpost));
return $mysqlpost['id'];`