Shuningdek, O’zbekiston Prezidenti 7-fevral kungi farmoni bilan 2017



Download 306,49 Kb.
bet16/24
Sana21.06.2022
Hajmi306,49 Kb.
#689874
1   ...   12   13   14   15   16   17   18   19   ...   24
Bog'liq
Защита от SQL

    Bu sahifa navigatsiya:
  • $this
Foydalanish misollari:
$name = dbget(1,"SELECT name FROM users WHERE id=%d",$_GET['id']); // если нам нужно только имя
$user = dbget(2,"SELECT * FROM users WHERE id=%d",$_GET['id']); // если нужна вся строка


$sql = "SELECT * FROM news WHERE title LIKE %s LIMIT %d,%d";
$news = dbget(3,$sql,"%$_GET[search]%",$start,$per_page); //если нужен массив
Ba'zi noqulayliklarga qaramay, bu funktsiya mening yuragim uchun qadrlidir, chunki u taniqli printsiplarga qat'iy rioya qilgan holda yozilgan: va agar buning uchun KISSni ayblash mumkin bo'lsa, unda undan foydalanish kodni juda va juda QURUQ qiladi.
Lekin hammamiz tushunamizki, bu boshi berk ko'chadir. Bizga esa to‘laqonli sinf kerak.Afsuski, maqolaning hajmi allaqachon barcha oqilona o‘lchamlardan oshib ketgan va sinf yaratish alohida postga ko‘chirilishi kerak. Men bu erda faqat bir nechta savollarga to'xtalaman.
Birinchidan, bizning sinfimiz yuqoridagi funktsiyaning merosxo'ri bo'ladi va kodlarni takrorlashdan xalos bo'lish uchun yuqori vazifani bajaradi. Shuning uchun, o'yinchilarni qo'llab-quvvatlashdan tashqari , sinf ma'lumotlar bazasidan kerakli formatda ma'lumot olish uchun yordamchi funktsiyalar to'plamini taqdim etadi - skaler, bir o'lchovli massiv, ikki o'lchovli massiv, maydon tomonidan indekslangan. ikki o'lchovli massiv maydoni tomonidan indekslangan bir o'lchovli massiv.
Ikkinchidan, sinfimiz uchun biz yozilgan to'ldiruvchilarning chinakam ajoyib g'oyasidan foydalanamiz . Va shu bilan birga, biz PDO dan nominal to'ldiruvchilar bilan foyda olamiz .
To'ldiruvchimiz o'xshash bo'lsin
[a-z]:[a-z]*
Masalan ,
i:
yoki
s:name
Birinchi holda, u anonim bo'ladi to'ldiruvchi , ikkinchisida esa u nomlanadi.
birinchi harf turini bildiradi, ikki nuqta qatorning boshqa elementlaridan to'ldiruvchini ajratib turadi va nom ixtiyoriy.
Uchinchidan, IN() operatori uchun uzoq kutilgan toʻldiruvchi (satrlar uchun)
function createIN($data)
{
if (!is_array($data))
{
throw new E_DB_MySQL_parser("Value for a: type placeholder should be array.");
}
if (!$data)
{
throw new E_DB_MySQL_parser("Empty array for a: type placeholder.");
}
$query = $comma = '';
foreach ($data as $key => $value)
{
$query .= $comma.$this->escapeString($value);
$comma = ",";
}
return $query;
}
va unga bir nechta eslatmalar. Ko'rib turganingizdek, tahlilchi bo'sh massivga istisno qo'yadi. Nega?
Chunki MySQL bo'sh IN() ga qasam ichadi va baribir so'rovni bajarish foydasiz. Qaerdadir men chetlari atrofida qo'shtirnoq va qo'shtirnoq bo'lgan aqlli variantni ko'rdim , lekin buni qilolmaysiz: bo'sh satr juda adolatli qiymatdir, lekin agar u massivda aniq uzatilgan bo'lsa, uni izlash mantiqiy.


Update:
Bo'sh massiv bilan bog'liq muammoni hal qilish juda oson ekanligi ma'lum bo'ldi!
IN(NULL)
xatoga yo'l qo'ymaydi va har doim FALSE ni qaytaradi - bo'sh massiv uchun ideal ko'rinish.
Ya'ni, uning o'rniga, faqat NULLni almashtirishingiz kerak:



Download 306,49 Kb.

Do'stlaringiz bilan baham:
1   ...   12   13   14   15   16   17   18   19   ...   24




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish