我想使用这样的查询:
$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.
问题变成了我们有一个空数组。在这种情况下,我可以使用简单的通配符将通配符替换为空。但是,如果我没有 IN(?) 和空数组,我必须做什么?
热点是使用NOT IN (?)
空数组。