これは奇妙に聞こえるかもしれませんが、問題を確実に回避できます。サーバー側コードで SQL を使用していますが、ステートメントは次のようになります。
SELECT myCol FROM mytable WHERE myCol2=url_parameter
url_parameter
URL を介して渡される文字列です。何かに設定url_parameter
する方法はありますが、それでもテーブル内のすべての事実を取得できますか?
これは奇妙に聞こえるかもしれませんが、問題を確実に回避できます。サーバー側コードで SQL を使用していますが、ステートメントは次のようになります。
SELECT myCol FROM mytable WHERE myCol2=url_parameter
url_parameter
URL を介して渡される文字列です。何かに設定url_parameter
する方法はありますが、それでもテーブル内のすべての事実を取得できますか?
これを処理する通常の方法は、次のようなクエリを使用することです。
SELECT myCol
FROM mytable
WHERE myCol2 = url_parameter OR url_parameter IS NULL; -- or url_parameter = '';
パラメータを渡す代わりに SQL 文字列を書き換える場合は、myCol2
すべての値を取得したいときに (引用符なしで) 値を挿入できます。ただし、パラメーターを使用する必要があります。
あってはならない。存在する場合、サーバー側は SQL インジェクション攻撃を可能にするように記述されています。これは、解決したい問題よりも大きな問題である可能性があります。
サーバー側のコードを変更できる場合は、WHERE 条件を持たないクエリのバリエーションを実行することで、パラメーター値またはパラメーター値の組み合わせに応答させることができます。または、他のオプションがあります...しかし、あなたはすでにそれを回避できると言っているので、それらのアイデアの1つを念頭に置いていると思います.