SQL-də parametrlərin siyahıya alınması üçün hansı üsullar mövcuddur?
sobes.tech Süni İntellekt
AI-dan cavab
SQL sorğularında parametrləri siyahıya almağın bir neçə yolu var, bunlar SQL inyeksiyalarını qarşısını almağa və oxunaqlılığı yaxşılaşdırmağa kömək edir:
-
Pozisiyalı parametrlər: Parametrlər yer tutucu ilə (tez-tez
?və ya$N) müəyyən edilir və sorğunu icra edən funksiyaya müəyyən ardıcıllıqla ötürülür.SELECT * FROM users WHERE id = ? AND status = ?;İcrada: parametrlər eyni ardıcıllıqla massiv və ya siyahı kimi ötürülür, sual işarələrinin ardıcıllığı vacibdir.
-
Adlandırılmış parametrlər: Parametrlər prefiks ilə (tez-tez
:və ya@) müəyyən edilir və parametr adı ilə davam edir.SELECT * FROM products WHERE category = :category_name AND price > :min_price;İcrada: parametrlər sözlük və ya xəritə kimi ötürülür, burada açar parametr adıdır və dəyər onun qiymətidir.
-
Birləşdirilmiş parametrlər (bəzi SGBD və ORM): Məlumat strukturlarını və ya obyektləri tək parametr kimi ötürməyə imkan verir. Bu daha az ümumidir və xüsusi tətbiqdən asılıdır. Məsələn, PostgreSQL-də JSON istifadə edilə bilər.
SELECT * FROM orders WHERE details @> ?; -- details JSONB tipli sahədirİcrada: JSON sətiri və ya obyekti ötürülür, hansı ki, SGBD tərəfindən təhlil edilə bilər.
Yöntəm seçimi istifadə olunan SGBD, sürücü/ORM və şəxsi üstünlüklərə bağlıdır. Ən çox istifadə olunanlar pozisiyalı və adlandırılmış parametrlərdir. Parametrli sorğuların istifadəsi təhlükəsiz işləmək üçün standart praktika hesab olunur.