我正在使用 PHP 创建一个类似 twitter 的帖子流。如果用户只想查看他创建的帖子,我应该如何编写 mysql 查询?
这是我现在拥有的:mysql_query("SELECT * FROM timeline ORDER BY dt DESC");
我假设我需要添加一个WHERE
后时间线来指示用户,但不确定正确的代码是什么。会WHERE $_SESSION['username']
吗?
你在正确的路线上。
观察 $_SESSION['username'] 的内容。你真的应该首先逃避它:
$usr = mysql_real_escape_string($_SESSION['username']);
然后
mysql_query("SELECT * FROM timeline WHERE username = '$usr' ORDER BY dt DESC ");
我不知道你的用户名字段叫什么,所以替换。
注意:mysql
已弃用 - 使用 mysqli 或 PDO
虽然我不建议这样做,但它应该可以工作:
SELECT *
FROM timeline
WHERE user = '" . $_SESSION['username'] . "'
ORDER BY dt DESC
我建议使用参数化查询并改用 pdo !