私はPHPでのMySQLのクエリ内のいくつかの問題に直面しています。MySQLの検索
私は、ベンガル語以下の「キーワード」という名前の列を持っていると、彼らは「作詞家」
サヤーナという名前のテーブルに「名前」という名前の別の列の「gauriprasanna Majumder」の値、rayanaに割り当てられています私はいくつかの連続を探していたとき、彼のような、私には、私は
だった、あなたは、クリシュナ、料理人、など、より多くの、あなたは、私は、あなたが、来る、滞在を呼び出すことになっています言葉リクE「あなた、私は、私は、」私は正しい答え「gauriprasanna Majumder」を取得しかし、私は「あなたがしている」それはどんな答えを与えていないようなランダムな単語を検索していたとき。
$query = "SELECT name FROM `lyricist` WHERE keywords LIKE '%$val%'";
はここで$ valが値の「あなた、私、私」や「あなたがしている」これらのタイプがあります。
なぜそれがランダムにアイテムを処理することですか?助けてください。
ああ!それは完璧に動作します。私は私が言葉などからの任意の一致を探していますので、言葉のようにすべてを一致させる必要はありません、以下のようなものにクエリーを編集したおかげでたくさん –
@George - SELECT名を「%LIKE 'lyricist' WHEREキーワードの中から私たちは、%「またはLIKEキーワード」%のサヤーナの%「 「LIKEまたはキーワード」%金の%を持っている。しかし、私たちと金は、これら二つの言葉はROW1からのものであり、サヤーナはROW2からなので、それは2つの行を提供します。しかし、私は言葉などから、最大の単語に一致する1行を取得したいです。 そして、2つの行が、それは最初のものを返すことがよりマッチ単語の数が同じ場合。 私はそれをどのように行うことができますか?私は、MAX、正規表現、マッチを試みたが、正しい結果を取得できませんでした –