次のクエリは、変数$ whereEmailまたは変数$ whereNotEmailまたはその両方が空の場合は行を選択しません。変数$ whereEmailと$ whereNotEmailで
$whereEmail = "'[email protected]','[email protected]'";
$whereNotEmail = "'[email protected]','[email protected]'";
$result = $mSearch->dao->query(sprintf('
SELECT * FROM table
WHERE email IN (%s)
AND email NOT IN (%s)
', $whereEmail, $whereNotEmail));
電子メールアドレスは、それらが空またはnullのままにされているいくつかのケースでは、PHPの関数を使用して保存されます。
変数$ whereEmailと$ whereNotEmailが両方とも空の場合、クエリはテーブルからすべての行を選択する必要があります。
同様に、変数$ whereEmailが空の場合、クエリは、電子メールアドレスが変数$ whereNotEmailにあるものを除き、テーブル内のすべての行を選択する必要があります。
同様に、変数$ whereNotEmailが空の場合、クエリは電子メールアドレスが変数$ whereEmailにあるすべての行を選択する必要があります。
何http://stackoverflow.com/questionsについて/ 19357990/sql-select-all-if-parameter-null-else-return-specfic-itemは役に立ちますか? – Syed
@Syed、それはSQLParameterをチェックしているので、PHP変数ではありません。違いを理解していますか? – Rahul
いいえ、PHP変数をSQLパラメータに変換できますか? – Syed