0

私のアプリケーションでは、記事を検索できます。したがって、ユーザーが文字列「articlex」を入力すると、クエリは機能し、結果が表示されますが、複数の単語が「articlex articley」と入力されると、クエリは結果を表示しません。

現在、私はこのクエリを使用しています

$querySub = 'SELECT * FROM table WHERE (col1 LIKE "%'.$search_string.'%") OR (col2 LIKE "%'.$search_string.'%") OR (col3 LIKE "%'.$search_string.'%")';

$search_stringユーザーによる入力のみが含まれる場所

クエリを複数の単語にも適用するにはどうすればよいですか?

4

5 に答える 5

0

delimiter // CREATE PROCEDURE proc_advancesearch(IN p_dataVARCHAR(80) , IN act_modeVARCHAR(10))

始める

p_s_data varchar(250) を宣言します。SET sql_mode='NO_ENGINE_SUBSTITUTION';

set p_s_data= REPLACE(p_data,' ','% '); set p_s_data=concat('%',p_s_data,'%');

ProStatus='A' および (concat(ProductName,' ',brandname,' ',CatName) like (p_s_data)

)

または ProductName のように concat(p_data,'%')) group by tblproductmapforlisting.ProId order by propriority asc ;

終わり

于 2015-10-06T09:35:48.893 に答える
-1

このパーポーズには REGEXP を使用できます。複数の単語を検索する場合は、検索文字列をスペースで分解し、LIKE を使用してテーブルからこの文字列を検索する必要があります。

       if you search "articlex articley" then it will search whole word in LIKE operator
于 2013-09-29T06:50:30.203 に答える