そのようなクエリを使用したい:
$sql = "SELECT `name` FROM `table` WHERE `id` IN (?)";
値の配列をバインドします
$sth = $pdo->prepare($sql);
$sth->execute(array(array('1', '2', '4')));
したがって、PDO をラップする必要があります。この動作を実装し、すべての落とし穴を考慮する方法は?
以下を考慮する必要があります。
IN(?) with array values;
IN(?) with empty array;
NOT IN(?) with array values;
NOT IN(?) with empty array;
NOT (expr IN (?)) with array values;
NOT (expr IN (?)) with empty.
問題は、空の配列があることになります。この状況ではワイルドカードを null に置き換えることができます。しかし、NOT IN(?) と空の配列がある場合はどうすればよいですか?
ホットポイントはNOT IN (?)
空の配列で使用しています。