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;
}

以下是我的应用方式:(<a href="view_topic.php?id=<?php echo new_post($name); ?>">View Post</a>请记住,$name文档前面已定义)

这是创建帖子后它带我去的 URL:http://localhost/Nu-Bio/view_topic.php?id=Resource%20id%20#10

感谢阅读,希望对您有所帮助。另外:我知道我应该使用 MySQLi。等我完成接下来的几件事后,我会更新~

4

4 回答 4

0

自从我使用 mysql_query() 以来已经有很长时间了,但我相信你正在返回一个数组。试试这个。

return $mysqlpost['id'];
于 2013-09-04T04:41:45.600 回答
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;
 }

?>

参考

于 2013-09-04T04:50:54.713 回答
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'];
    }
于 2013-09-04T04:52:50.297 回答
0

你应该添加mysql_fetch_assoc,你可以试试这个:

$mysqlpost = mysql_fetch_assoc(mysql_query($sqlpost));
return $mysqlpost['id'];`
于 2013-09-04T04:57:10.413 回答