アプリケーションに検索フォームがあり、データがバックエンドに送信され、結果のテーブルが返されます。クエリは次のように動的に構築されます。
$_POST['data'] 内のすべてのフィールドは、クエリの特定のカテゴリの許可されたフィールド リストに対してフィルター処理されます。
空のフィールドは破棄されます。
ちなみに、これはデータを保存するときにも行われます。これで、1 つの単語で構成されるフィールドではまったく問題ありません。しかし、いくつかのクエリに複雑な JOIN があり、PDO があいまいなフィールドについて不平を言うことがあります (たとえば、「id」)。
この状況に最適に対処するにはどうすればよいですか? ユーザーにクエリを操作させたくありませんが、今日のように簡単にクエリを生成したいと考えています。
case 'id':
case 'company':
$where .= ' AND `' . $field . '` = :' . $field;
...