1

次のシナリオがあります。

空白を含む可能性があるユーザー入力を保存しています。問題は、SELECTデータベースから ( MySql) を実行すると、一致するものが見つからないことです。空白を取り除くと、db での検索は機能しますが、この方法で保存すると、文字列がすべて乱雑に見えます。

データベースに文字列 (空白を含む) を適切に格納するには、格納された文字列を見つけるステートメントをAND正しく実行するにはどうすればよいですか??SELECT

助けてくれてありがとう。

アップデート:

これが私が今取り組んでいるものです:

$filename = "これは空白を含む文字列です";
//このようにdbに格納されています

$trim_string = preg_replace("/\s+/", "", $filename);
//データベースを Thisisastringwithwhitespace として検索

それでも一致するものは見つかりませんか?

4

1 に答える 1

0

ユーザーが文字列全体を知っている場合は、Mysql クエリで TRIM() を使用するという Blake の提案に従います。部分検索が必要で、高速に検索したい場合は、単語を含むセカンダリ テーブルを作成し、別のテーブルを作成します。文字列に表示される位置。次のようになります。

Word( id, string )
WordInString( id, source_string_id, word_id, position )

検索は 2 つのステップで行われます。

1. get the words ids
2. get from WordInString the top list with greater number of Words hits, and show the options to the end user.

それが役に立てば幸い !

于 2013-02-12T12:28:39.800 に答える