プリペアドステートメント を使用できます。 PDO を使用 :
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
$params = array(1,2,3);
$values = implode(',', array_fill(0, count($params), '?')); // ?,?,?
$sql = "select * from foo where bar in ($values)";
$stmt = $dbh->prepare( $sql );
$stmt->execute( $params );
プリペアドステートメントを使用することで、データをエスケープする必要がなくなります。ただし、それでも検証する必要があります。