我正在使用PHP創建類似Twitter的帖子流。如果用戶只想查看他創建的帖子,應該如何編寫mysql查詢?mysql_query只顯示用戶的帖子
這是我現在有:mysql_query("SELECT * FROM timeline ORDER BY dt DESC");
我認爲我需要時間線後添加WHERE
指示用戶,但不知道正確的代碼是什麼。會不會是WHERE $_SESSION['username']
?
我正在使用PHP創建類似Twitter的帖子流。如果用戶只想查看他創建的帖子,應該如何編寫mysql查詢?mysql_query只顯示用戶的帖子
這是我現在有: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
非常好,謝謝!我實際上只是調用了該字段的用戶名。:)它不會給我錯誤,但它也不會拉動任何用戶的帖子。猜測它沒有識別會話的用戶名,並且我做了錯誤的事情,不正確地設置會話以傳遞當前用戶名。任何建議我檢查會話設置? –
使用'if(!isset($ _ SESSION ['username']){echo'在會話中沒有用戶名';}'檢查用戶名或'var_dump($ _ SESSION)'查看所有。在你提交它之前('$ query =「SELECT ...」'),然後在你的'mysql_query($ query);'之前加上'echo $ query;'這會告訴你你的查詢是什麼 – 2013-06-27 03:31:31
啊,剛剛得到它!謝謝! –
雖然我不建議這一點,它應該工作:
SELECT *
FROM timeline
WHERE user = '" . $_SESSION['username'] . "'
ORDER BY dt DESC
我會建議使用paramaterized查詢和使用PDO,而不是!
謝謝,我試圖教我自己的PHP,所以感謝你的警告,但沒有恐懼,只是試驗,沒有任何活動:) –
它不給我任何錯誤,但它也沒有拉任何用戶的帖子。猜猜它不認識會話的用戶名。任何想法如何設置會話用戶拉他的帖子? –
@JeffCloud - 什麼值'SESSION ['username']'相等嗎?該值是否存在於您的時間表中? – user2480596
請問您可以在問題中添加'timeline'表結構嗎? – BlitZ