Ben Kohana hiç kullanmadım, bu yüzden özür dilemek bu açıklama tamamen alakasız ise, ama ben yapmak için çalışıyoruz ne hakkında birkaç yorum var:
Ben tablo adı için bir adlandırılmış param kullandığınızda, başarısız olur.
Ben altta yatan veritabanının parametre mekanizması dayanarak çünkü bu olduğunu varsayalım, ve ben bir sorguda bir parametre olarak bir tablo adı vermek sağlar herhangi bir veritabanı bilmiyorum. Yani evet, büyük olasılıkla bir dize kendiniz inşa etmek gerekir.
dize binanın bu tür yaparken nasıl potansiyel kötü karakter kaçabilir?
Bu soru tablo adları bazı potansiyel kötü karakterler var ... eğer öyleyse, neden? Ya ... garip görünüyor Yoksa güvenilmeyen bir kaynaktan (kullanıcı?) Gelen tablo adını alıyoruz. Bu benim için kötü bir fikir gibi geliyor. Onlar bir tablodan okumaya çalışırsanız ne olur onlar erişimi olması gerekiyordu değil mi? O izin verilen tablenames iyi tanımlanmış bir liste var ve tablo yerine potansiyel kötü tablo adları kaçan, bu listede var olduğunu kontrol etmek daha iyi olmaz mıydı?
Ve ben son bir gözlem var: Bir sorguda tablo adını değiştirmek mümkün ve hala çalışıyor ise, bu muhtemelen veritabanı doğru normalize olmayan bir işaretidir. Belki size tabloları birleştirmek ve gruplandırma hakkında bilgi fazladan bir sütun eklemek ve istediğiniz verileri seçmek için bir WHERE yan tümcesini kullanabilirsiniz? Ben bir şey daha somut önermek için modeli hakkında daha fazla bilgi gerekiyordu.
Bu tüm soru cevap yardımcı olur, ben emin değilim, ama bu sizin sorunuzu okurken benim düşünceler vardı. Ben bunu bazı kullanabilirsiniz umuyoruz.