要件は、ユーザーが提供したキーワードのリストを取得し、16のフィールドのいずれかに任意のキーワードを含むすべてのレコードを返すことです。
したがって、ユーザーがカップドッグパンのキーワードを入力した場合
(キーワードの順序は重要ではなく、それらの間に暗黙の関係はありません)。
したがって、WHERE条件の数は78です。
WHERE ObjObjectName LIKE '%cup%'
OR ObjObjectName LIKE '%dog%'
OR ObjObjectName LIKE '%bread%'
OR ObjObjectOtherName LIKE '%cup%'
OR ObjObjectOtherName LIKE '%dog%'
OR ObjObjectOtherName LIKE '%bread%'
OR ObjObjectID LIKE '%cup%'
OR ObjObjectID LIKE '%dog%'
OR ObjObjectID LIKE '%bread%'
OR ObjOtherName LIKE '%cup%'
OR ObjOtherName LIKE '%dog%'
OR ObjOtherName LIKE '%bread%'
OR ObjTitle LIKE '%cup%'
OR ObjTitle LIKE '%dog%'
OR ObjTitle LIKE '%bread%'
OR ObjCategory LIKE '%cup%'
OR ObjCategory LIKE '%dog%'
OR ObjCategory LIKE '%bread%'
OR AccCreditLineLocal LIKE '%cup%'
OR AccCreditLineLocal LIKE '%dog%'
OR AccCreditLineLocal LIKE '%bread%'
OR PrimaryCreator LIKE '%cup%'
OR PrimaryCreator LIKE '%dog%'
OR PrimaryCreator LIKE '%bread%'
OR EdiPublisherLocalSummary LIKE '%cup%'
OR EdiPublisherLocalSummary LIKE '%dog%'
OR EdiPublisherLocalSummary LIKE '%bread%'
OR EdiPlaceOfPublication LIKE '%cup%'
OR EdiPlaceOfPublication LIKE '%dog%'
OR EdiPlaceOfPublication LIKE '%bread%'
OR CreContinent LIKE '%cup%'
OR CreContinent LIKE '%dog%'
OR CreContinent LIKE '%bread%'
OR CreSubContinent LIKE '%cup%'
OR CreSubContinent LIKE '%dog%'
OR CreSubContinent LIKE '%bread%'
OR CreCountry LIKE '%cup%'
OR CreCountry LIKE '%dog%'
OR CreCountry LIKE '%bread%'
OR CreRegion LIKE '%cup%'
OR CreRegion LIKE '%dog%'
OR CreRegion LIKE '%bread%'
OR CreCounty LIKE '%cup%'
OR CreCounty LIKE '%dog%'
OR CreCounty LIKE '%bread%'
OR CreStateProvince LIKE '%cup%'
OR CreStateProvince LIKE '%dog%'
OR CreStateProvince LIKE '%bread%'
OR CreCity LIKE '%cup%'
OR CreCity LIKE '%dog%'
OR CreCity LIKE '%bread%'
OR CreContinent1 LIKE '%cup%'
OR CreContinent1 LIKE '%dog%'
OR CreContinent1 LIKE '%bread%'
OR CreSubContinent1 LIKE '%cup%'
OR CreSubContinent1 LIKE '%dog%'
OR CreSubContinent1 LIKE '%bread%'
OR CreCountry1 LIKE '%cup%'
OR CreCountry1 LIKE '%dog%'
OR CreCountry1 LIKE '%bread%'
OR CreRegion1 LIKE '%cup%'
OR CreRegion1 LIKE '%dog%'
OR CreRegion1 LIKE '%bread%'
OR CreCounty1 LIKE '%cup%'
OR CreCounty1 LIKE '%dog%'
OR CreCounty1 LIKE '%bread%'
OR CreStateProvince1 LIKE '%cup%'
OR CreStateProvince1 LIKE '%dog%'
OR CreStateProvince1 LIKE '%bread%'
OR CreCity1 LIKE '%cup%'
OR CreCity1 LIKE '%dog%'
OR CreCity1 LIKE '%bread%'
OR CreDateCreated LIKE '%cup%'
OR CreDateCreated LIKE '%dog%'
OR CreDateCreated LIKE '%bread%'
OR CreMarkSignature LIKE '%cup%'
OR CreMarkSignature LIKE '%dog%'
OR CreMarkSignature LIKE '%bread%'
これは本当にこれを行うための最良の方法ですか?つまり、PDOプリペアドステートメントを使用する予定であり、このQ&A(PDOプリペアドステートメントを使用した検索フィールドからの複数のキーワードを使用したLIKEクエリ)は非常に役立ちますが、MySQLの経験が比較的少ないため、そこにあるかどうかはわかりませんでした条件があるすべてのものを処理するためのより良い方法でした。ありがとう!