LIKE '%{Var}%' を使用したプリペアド ステートメントを効果的に利用する
SQL クエリでサニタイズされたユーザー入力を使用する場合は、次のことをお勧めします。 SQL インジェクション攻撃のリスクを軽減するために準備されたステートメントを使用します。ただし、プリペアド ステートメントで LIKE '%{Var}%' パターンを使用すると、問題が発生する可能性があります。
間違ったアプローチ:
次の構文ではエラーが生成されます:
$sql = 'SELECT * FROM `users` WHERE username LIKE \'%{?}%\' ';
$sql = 'SELECT * FROM `users` WHERE username LIKE %{?}% ';
正解アプローチ:
プリペアド ステートメントで LIKE '%{Var}%' を正しく使用するには、次の手順に従います:
$likeVar = "%" . $ yourParam . "%";
$ stmt = $ mysqli -> prepare('SELECT * FROM REGISTRY WHERE name LIKE ?');
$stmt -> bind_param('s', $likeVar);
$stmt -> execute();
説明:
これらの手順に従うことで、セキュリティのベスト プラクティスを守りながら、SQL クエリで LIKE '%{Var}%' を安全に使用できます。
以上がSQL の準備されたステートメントで LIKE '%{Var}%' を安全に使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。