2011-10-19 13 views
-3

OK mySQLスレッドを調べてみましたが、正しい用語がわからないため、おそらく私が探していたものが見つかりませんでした。mySqlクエリが返される行が等しい場合

とにかく、文字列と等しい行を返すクエリが必要です。このケース "David"私は "コメント"と "投稿"の2つのことを示したいと思います。日付のみが現在表示されていますが、コメントは表示されません。はい、コメントにデータがあります。

> $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()); 
          ^^^^^^^^^^^^^^^^^^^^^ 

これは、クエリが失敗した場合、スクリプトを殺し、それが失敗した理由を正確にあなたを教えてあげる:裸mininumでは、目的を開発するためには、常にこのような何かを行う必要があります。さもなければ、あなたのスクリプトは単に悪い(または悪い)結果を伴い続けるだろうし、おそらく後でこの悪いデータのために後退するでしょう。

+0

あなたは本当に私を助けてくれると思っています。ありがとうございました – hobbywebsite

+0

"*開発目的*"は十分に強調することはできません、生きているページの生のDBエラーを出力として "私をハックする"と叫ぶものはありません。 –

+0

私は "私をハックするように"叫ぶために私の道から出る...笑、笑いをありがとう – Leslie

関連する問題