leads
サーバー全体で、特定の条件を使用して検証するテーブルを呼び出すクエリがいくつかあります。
SELECT * FROM leads WHERE user_id=3 //This line changes depending on the data needed
AND reversed!=1 AND amount>0 AND ip IS NOT NULL //These 'validation' statements are always there.
SELECT * FROM leads WHERE user_id=10 AND special_case=1
AND reversed!=1 AND amount>0 AND ip IS NOT NULL
SELECT * FROM leads WHERE user_id=15 AND special_case2=1
AND reversed!=1 AND amount>0 AND ip IS NOT NULL
これらのクエリの 2 行目は、ほぼすべてのクエリに存在する検証句を表しています。問題は、別の検証ステートメント (のようなAND another_column=1
) を追加する必要がある場合、コード内のすべてのクエリを個別に編集する必要があることです。これには時間がかかり、理想的ではありません。
すべてのクエリに適用できる検証関数を作成する最善の方法は何ですか? $_GLOBAL
likeを作成できる$validation_sql='AND reversed!=1 AND amount>0 AND ip IS NOT NULL'
と考えていましたが、カスタム MYSQL 関数を作成する方がうまくいくのではないかと思いました (これができれば)。
皆さんはどう思いますか?これを行う最善の方法は何ですか?