Arkadaşım sorununu yanlış anlamadıysam şu şekilde kullanmalısın:
select * from tablo where id in (1,7,5,2,9) order by field(id,1,7,5,2,9);
Fakat bu kadar kayıtı birden where in ile sorgulamak yerine temp tablo oluştursan daha performanslı olabilir.
Hallettim array ile alıp implode edince halloldu ancak şu an performans açısından problem yok,ilerde bir sıkıntı çıkarsa değiştiririm mutlaka sorguyu.