where句で常に真となるようにパラメータの値を設定できますか?すべてのエントリを再実行するパラメータのMySQL値
例としてクエリを考えてみます。
SELECT name FROM student WHERE [email protected];
は今、私の質問は、「このクエリは、すべての生徒の名前を再実行するようなパラメータの値を設定することが可能である」されます。
where句で常に真となるようにパラメータの値を設定できますか?すべてのエントリを再実行するパラメータのMySQL値
例としてクエリを考えてみます。
SELECT name FROM student WHERE [email protected];
は今、私の質問は、「このクエリは、すべての生徒の名前を再実行するようなパラメータの値を設定することが可能である」されます。
あなたは、単一のフィールドについて
SELECT name FROM student WHERE 1=1
を試すことができますすべてのエントリをしたい場合:
SELECT name FROM student WHERE class like '%'
あなたがこれを行うことができた場合は、この試してみてください。
SELECT name FROM student WHERE class=class;
が、私を@parameterバインディングは次のようになります:
SELECT name FROM student WHERE class='class';
@parameterバインディングを変更しない場合は、noです。
典型的な方法は次のとおりです。
SELECT name
FROM student
WHERE (class = @parameter OR @parameter IS NULL);
あなたはなしSELECT name FROM student
を行うことができます。
単純に:いいえ、残りのクエリは変更しないでください。 – Kris
私が考えることのできる1つの方法は、「1 = 1」を注入することです。パラメータの末尾に常にこの文字列を追加する '@parameter = 'クラス名'または1 = 1' –