0

我创建了一个函数,想知道它为什么不起作用。这是代码:

function new_post() {
    $session_user_id = $_SESSION['user_id'];
    $user_data = user_data($session_user_id, 'user_id', 'username', 'first_name', 'email', 'avatar', 'rank', 'petnumber');
    $username = $user_data['username'];
    $sqlpost = "SELECT id FROM forum_question WHERE name=$username ORDER BY datetime DESC LIMIT 1";
    $mysqlpost = mysql_query($sqlpost);
    return $mysqlpost;
}

此外,我正在将我的整个网站更新为 PDO/mysqli,我只是想让它在常规 mysql 中正常工作,然后再继续更新它。

这就是我使用它的方式:

<a href="view_topic.php?id=<?php echo new_post(); ?>">View New Post</a>

而且,$session_user_idand $user_data都在我的init.php文件中定义。

另外,我没有收到任何错误,但这就是我的 URL 中显示的内容http://view_topic.php/?id=Resource%20id%20#14

4

2 回答 2

1

大概

$sqlpost = "SELECT id FROM forum_question WHERE name='$username' ORDER BY datetime DESC LIMIT 1";

因为 SQL 要求字符串被引用

并且不要忘记从结果集中获取结果并从数组中提取列值:

$result = mysql_fetch_array($mysqlpost); 
return $result['id']; 
于 2013-04-16T22:44:30.363 回答
0

Sqlpost 实际上应该是:
$sqlpost = "SELECT id FROM forum_question WHERE name='".$username."' ORDER BY datetime DESC LIMIT 1";

于 2013-04-16T22:50:13.607 回答