Benim tavsiyem: Herhalde bunu yapmak için rahatsız olmaz. Dışında özel sorunları diğerlerinden Ben bu ile sahip daha büyük bir sorun var, (SQL enjeksiyonu, geri dönmek için unuttum) dikkat çekmişlerdir: Tüm sorguları bu forma güzel uyacak olduğunu varsayıyoruz. Lütfen fonksiyon sınırlamalar şunlardır:
- Birden fazla tablo birleştirme desteği yok.
- İç seçer desteği yok.
- Kötü bir fikir genel olarak - her zaman kullanarak
*
tüm sütunları seçmek. Sen sadece bazı sütunları seçmek için hiçbir destek yok.
- Için desteği yok
GROUP BY
.
- Tüm satırları istediğiniz zaman hala nerede '1 = 1 gibi bir deyimi 'geçmek zorunda.
- vs ..
Şimdi bu diğer olasılıklar için izin vermek fonksiyonunu genişletmek olabilir, ama daha karmaşık hale gelecektir ve sadece SQL sorguları oluşturmak için özel bir dil ile bitireceğiz ancak SQL benzemez. Bazen bir SQL veritabanı erişim için özel bir dil oluşturmak için iyi bir fikirdir ama çoğunlukla sadece zaman kaybıdır ve zor diğerleri kodunuzu anlamak için yapacaktır. Standart kütüphaneler ve standart arayüzleri kullanarak mümkün sopa. SQL kullanarak kaçınmak istiyorsanız, bunun yerine bir Object-Relational Mapping (ORM) kullanarak araştırmak olabilir.
Eğer kod dışarı SQL tutmak istiyorsanız, aslında yerine çok genel bir şey sizin uygulama (getFriends, getPostsByUser) özel bir şey yapar bir arayüz yapmayı deneyin.