2011-10-19 107 views
-3

OK我嘗試通過mySQL線程查看,但是我無法找到我想要的東西,可能是因爲我不知道正確的術語。如果行相等,mySql查詢返回

反正我需要一個查詢來返回等於一個字符串的行。這個案例「大衛」我想展示兩件事情「評論」和「postdate」。目前只顯示日期,但沒有評論。是的,評論中有數據。

這是我到目前爲止有:

> $query = "SELECT * FROM sessionscomments session = 'David'"; 
> $result = mysql_query($query); 
> 
> 
> while($row = mysql_fetch_assoc($result)) { 
> 
> echo "<div id=fav>";  
> echo strip_tags("Date: {$row['postdate']}"); 
> echo "</div>"; 
> echo "<br>";  
> echo strip_tags("{$row['comments']}"); 
> echo "<br>";  
> echo "<hr class= \"box\">"; 
> 
> } 

,我有存儲與CURRENT_TIMESTAMP我怎麼能只顯示當天的年月日?

我怎樣才能讓最後一個回聲線不會發生在最後一次運行?

在此先感謝。

+0

一般建議:避免使用'SELECT *'並明確列出要返回的列的習慣。如果您只需要返回'postdate'和'comments'列,那麼只需選擇這些列。也看起來你的查詢缺少WHERE關鍵字。 –

回答

2

它被稱爲WHERE條款,你已經幾乎得到了它在您的查詢:

SELECT comments, postdate 
FROM sessioncomments 
WHERE session='David' 

不要使用SELECT *。它效率低下,特別是如果它是一個「寬」的表,你只會使用一對夫婦的領域。這就像拖回家一個月的雜貨,然後把它扔在垃圾桶裏,只吃豆豆和餅乾。

同樣,不要假設查詢成功。在裸露的最小值,用於開發目的,你應該總是做這樣的事情:

$result = mysql_query($sql) or die(mysql_error()); 
          ^^^^^^^^^^^^^^^^^^^^^ 

如果查詢失敗,這會殺了劇本,並確切地告訴你失敗的原因。否則,你的腳本會繼續向前,沒有(或不好)的結果,並且可能因爲這些不好的數據而稍後關閉。

+0

嘿,你認爲你真的幫助我,讓我走上正軌。非常感謝 – hobbywebsite

+0

「*用於開發目的*」不能強調得足夠多,沒有什麼尖叫聲「來嘲弄我」,因爲在活頁上輸出原始數據庫錯誤。 –

+0

我瘋狂地尖叫着「來襲我」......大聲笑,謝謝大笑 – Leslie