2012-02-19 10 views
0

特定のタグを含む投稿を検索するには、クエリを送信する必要があります。データベースのセルは次のように書かれています。 "funny tech good"なので、すべての単語でタグが記述されます。だから私はこのコードを "面白い"タグ付きの投稿を得るために怒らせた。PHP MYSQL:検索ワードクエリ

'SELECT * FROM `posts` WHERE `post_tag` = "funny" ORDER BY `post_id` DESC LIMIT 50' 

残念ながら、それは私に結果を与えません。ここの問題は何ですか?

+0

あなたはどこでも試してみることができますpost_tag LIKE '面白い%' ..あなたのタグの開始テキストとして「おかしい」というあなたのレコードを表示します –

答えて

1

LIKEキーワードを使用するか、1タグごとにタグを保存します。他のタグを持っている

SELECT * FROM `posts` WHERE `post_tag` LIKE "%funny%" ORDER BY `post_id` DESC LIMIT 50 

しかしこれは、タグを見つけるだろうが、そうの「Java」の検索もこれを試してみてください、

0

を「ジャバスクリプト」を見つけるでしょう、含まれています。

SELECT * FROM `posts` WHERE `post_tag` LIKE "%funny%" ORDER BY `post_id` DESC LIMIT 50' 
0
 

'SELECT * FROM `posts` WHERE `post_tag` LIKE "%funny%" ORDER BY `post_id` DESC LIMIT 50' 

//OR to get tags starting with funny 
'SELECT * FROM `posts` WHERE `post_tag` LIKE "funny%" ORDER BY `post_id` DESC LIMIT 50' 
 

参考:LIKE

1

などWHERE post_tag LIKE "%fun%"も、「亡き」「面白い」と一致しますクエリ、しかし、MySQLはまた、Perlスタイルの正規表現をサポートしているので、あなたが、運がいいと

WHERE post_tag RLIKE "\bfun\b" 

(sqlエンジンに円記号が表示されていることを確認してください)。これは、完全な単語としてのみ "楽しい"と一致します。