2013-06-27 94 views
0

我正在使用PHP創建類似Twitter的帖子流。如果用戶只想查看他創建的帖子,應該如何編寫mysql查詢?mysql_query只顯示用戶的帖子

這是我現在有:mysql_query("SELECT * FROM timeline ORDER BY dt DESC");

我認爲我需要時間線後添加WHERE指示用戶,但不知道正確的代碼是什麼。會不會是WHERE $_SESSION['username']

+0

請問您可以在問題中添加'timeline'表結構嗎? – BlitZ

回答

0

你說得對。

觀看$ _SESSION ['username']的內容。你真的應該先逃跑吧:

$usr = mysql_real_escape_string($_SESSION['username']); 

然後

mysql_query("SELECT * FROM timeline WHERE username = '$usr' ORDER BY dt DESC "); 

我不知道你的用戶名字段被調用,這樣的替代品。

注:mysql已被棄用 - 使用庫MySQLi或PDO

+0

非常好,謝謝!我實際上只是調用了該字段的用戶名。:)它不會給我錯誤,但它也不會拉動任何用戶的帖子。猜測它沒​​有識別會話的用戶名,並且我做了錯誤的事情,不正確地設置會話以傳遞當前用戶名。任何建議我檢查會話設置? –

+0

使用'if(!isset($ _ SESSION ['username']){echo'在會話中沒有用戶名';}'檢查用戶名或'var_dump($ _ SESSION)'查看所有。在你提交它之前('$ query =「SELECT ...」'),然後在你的'mysql_query($ query);'之前加上'echo $ query;'這會告訴你你的查詢是什麼 – 2013-06-27 03:31:31

+0

啊,剛剛得到它!謝謝! –

0

雖然我不建議這一點,它應該工作:

SELECT * 
FROM timeline 
WHERE user = '" . $_SESSION['username'] . "' 
ORDER BY dt DESC 

我會建議使用paramaterized查詢和使用PDO,而不是!

+0

謝謝,我試圖教我自己的PHP,所以感謝你的警告,但沒有恐懼,只是試驗,沒有任何活動:) –

+0

它不給我任何錯誤,但它也沒有拉任何用戶的帖子。猜猜它不認識會話的用戶名。任何想法如何設置會話用戶拉他的帖子? –

+0

@JeffCloud - 什麼值'SESSION ['username']'相等嗎?該值是否存在於您的時間表中? – user2480596