ファジー データ クエリに ThinkPHP を使用する場合、より正確な検索を?qū)g現(xiàn)するために、多くの場合、ワイルドカード マッチングにパーセント記號 (%) を使用する必要があります。この記事では、パーセント記號を正しく使用してファジー クエリを?qū)g裝する方法を紹介します。
- like() メソッドでのパーセント記號の使用
ファジー クエリに like() メソッドを使用する場合は、パーセント記號をパラメーターとして渡す必要があります。その方法です。たとえば、「'a' で始まるユーザー名」のユーザー情報をクエリする場合は、次のコードを使用できます。
$userList = Db::table('user')->where('username', 'like', 'a%')->select();
この例では、「a%」を like() メソッドに渡します。 、ユーザー名が「a」で始まるすべてのユーザーの情報を照會することを示します。
- エスケープ文字を使用してパーセント記號をエスケープする
パーセント記號文字を含むデータを?qū)g際にクエリする必要がある場合は、エスケープ文字を使用してエスケープする必要があります。そうしないと、SQL ステートメントエラーが発生します。 ThinkPHP では、バックスラッシュ "" を使用してパーセント記號をエスケープします。
たとえば、文字列「?c%」を含むユーザー情報をクエリする場合は、次のコードを使用できます:
$userList = Db::table('user')->where('username', 'like', '%abc%')->select();
この例では、パーセント記號にバックスラッシュを使用します。 SQL ステートメントのエラーを回避するためにエスケープされます。
- escape() メソッドを使用して文字列をエスケープします
パーセント文字を含むデータをクエリしたいが、毎回手動でパーセントをエスケープしたくない場合 いいえ.escape() メソッドを使用すると、文字列を自動的にエスケープできます。
たとえば、「?c%」文字列を含むユーザー情報をクエリする場合は、次のコードを使用できます:
$keyword = '%abc%'; $escapedKeyword = Db::escapeLikeStr($keyword); $userList = Db::table('user')->where('username', 'like', $escapedKeyword)->select();
この例では、escape() メソッドを使用します。 to $ キーワード內(nèi)のパーセント記號文字は自動的に「%」形式にエスケープされるため、手動でエスケープするという面倒な操作が不要になります。
概要
ファジー クエリに ThinkPHP を使用する場合、パーセント記號を正しく使用することが非常に重要です。上記の紹介により、パーセント記號を使用する 3 つの方法、つまり like() メソッドでパーセント記號を使用する方法、エスケープ文字を使用してパーセント記號をエスケープする方法、およびエスケープ() メソッドを使用して文字列を自動的にエスケープする方法を習(xí)得できます。この記事がお役に立てば幸いです。
以上がthinkphp でファジーパーセント記號を使用する方法の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國語 Web サイトの他の関連記事を參照してください。

ホットAIツール

Undress AI Tool
脫衣畫像を無料で

Undresser.AI Undress
リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover
寫真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中國語版
中國語版、とても使いやすい

ゼンドスタジオ 13.0.1
強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)