2010-09-22 64 views
-1

這是查詢的樣子:(簡體)Mysql - 簡單選擇查詢返回dublicate值?

SELECT * FROM posts WHERE user='37' ORDER BY date DESC 

我目前只在該表AVE一排,但還是由於某種原因,返回兩行,是完全一樣的。起初我以爲我搞砸了循環,但我試圖用print_r()打印返回的數組,它實際上返回兩行。

我試過搜索,但是我沒有找到任何類似的問題。不過我記得我的一個朋友在學校有同樣的問題,所以我確信我們不是唯一的問題。我可能只是沒有使用正確的搜索條件,嘿。

任何想法?

+0

可能希望添加PHP作爲附加標記,因爲問題可能出現在您的代碼中。 – Jay 2010-09-22 16:49:48

+0

你可以發表「DESCRIBE帖子」嗎?和實際的,而不是簡化的查詢? – geon 2010-09-22 16:51:29

+0

每件事看起來不錯,請添加更多的信息進一步調查 – 2010-09-22 16:51:51

回答

0

你是肯定你只有一行在表中?如果是這樣,看起來問題必須發生在SQL之外。

你在做什麼以外的查詢?這似乎是問題的可能來源。你提到一個循環:你可以將查詢結果添加到你的數組兩次?或者是數組之間沒有被重新初始化(換句話說,前一個查詢的結果在數組中仍然存在)

+0

我只是三重檢查,是的,我只在桌上有一排。我認爲我發現了這個問題,是的,這個循環涉及到了。問題在於我在循環並選擇column_1時選擇了另一個column_2。 column_1的值來自我在代碼中聲明更高的數組。這就是查詢的樣子:「SELECT * FROM posts WHERE user ='$ userId'or user ='$ friend'AND date> $ limit ORDER BY date DESC」。 – Nike 2010-09-22 17:08:33

1

如果你只有一條記錄(驗證),它必須是複製返回值的應用程序邏輯。

-1

limit 1是你的朋友:)

嘗試將其添加到您的查詢的末尾。