Вы можете использовать оператор IN
и implode
, чтобы сделать это автоматически для вас.Это не быстрее, чем несколько OR
с, но это делает ваш запрос короче, и это, безусловно, быстрее, чем несколько запросов, которые у вас сейчас.
<?php
$ids = array(1, 3, 4, 5, 6, 7, 23, 24, 26, 28); // example, this can hold up to 1000 unique id's
$results = array();
$stmt = $pdo->prepare("SELECT a, b, c FROM table WHERE id IN (" . implode(',', $ids) . ")");
$stmt->execute();
$results[] = $stmt->fetch(PDO::FETCH_ASSOC);
?>