Você pode usar declarações preparadas com 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 );
Ao usar instruções preparadas, você evita a necessidade de escapar de seus dados. Você ainda precisará validá-lo embora.