2016-10-11 3 views
0

where句で常に真となるようにパラメータの値を設定できますか?すべてのエントリを再実行するパラメータのMySQL値

例としてクエリを考えてみます。

SELECT name FROM student WHERE [email protected]; 

は今、私の質問は、「このクエリは、すべての生徒の名前を再実行するようなパラメータの値を設定することが可能である」されます。

+0

単純に:いいえ、残りのクエリは変更しないでください。 – Kris

+0

私が考えることのできる1つの方法は、「1 = 1」を注入することです。パラメータの末尾に常にこの文字列を追加する '@parameter = 'クラス名'または1 = 1' –

答えて

0

あなたは、単一のフィールドについて

SELECT name FROM student WHERE 1=1 

を試すことができますすべてのエントリをしたい場合:

SELECT name FROM student WHERE class like '%' 
0

あなたがこれを行うことができた場合は、この試してみてください。

SELECT name FROM student WHERE class=class; 

が、私を@parameterバインディングは次のようになります:

SELECT name FROM student WHERE class='class'; 

@parameterバインディングを変更しない場合は、noです。

1

典型的な方法は次のとおりです。

SELECT name 
FROM student 
WHERE (class = @parameter OR @parameter IS NULL); 
0

あなたはなしSELECT name FROM studentを行うことができます。

関連する問題