• ベストアンサー

PHPからMySQLで一文字でも一致したら表示したい

PHPからMySQLで一文字でも一致したら表示したいのですが その場合のSQL文はどうすればいいのでしょうか? 日本語で漢字一文字だと都合が悪いそうですが? 前方一致(keyword%)中央一致(%keyword%)や後方一致(%keyword)を統合したモノはありますかね? 東京都渋谷区神宮前ならこの9文字中一文字でも検索語にあれば、 例えば、東、都立高校、髪神紙加味、いずれの場合でも 東京都渋谷区神宮前と検索結果が出てきて欲しいのです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

SQL一発での検索は難しいでしょう。 フィールドの中身をmb_eregi関数で正規表現検索を 行ってはどうですか? その場合はコーディングでデータ全件数をループし パターンマッチングを行わないといけないので レスポンスは落ちますが… とりあえず機能としては実現することが出来ますよ。

その他の回答 (1)

回答No.1

こんにちは。 検索対象が1対多ではなく、多対多なので、SQL一発では無理そうですね・・・。 どちらか一方は1文字ずつ切り出して、再帰的に検索するしかなさそうです。 (^^ゞ

関連するQ&A