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



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

function query(){
$query = array_shift($args);
$query = str_replace("%s","'%s'",$query);
foreach ($args as $key => $val) {
$args[$key] = mysql_real_escape_string($val);
}
$query = vsprintf($query, $args);
if (!$query) return FALSE;
$res = mysql_query($query) or trigger_error("db: ".mysql_error()." in ".$query);
return $res;
}
Bu so'rovga ma'lumotlarni almashtirishda yaxshi ish qiladi. Va noaniqlik bilan: agar biz to'ldiruvchini aralashtirib , LIMIT operatoridagi %d o'rniga, masalan, %s ni qo'ysak, ishlab chiqish bosqichida so'rov xatosi paydo bo'ladi, lekin in'ektsiya emas ( qochib ketganda sodir bo'ladi ).
Albatta, printf () ga asoslangan amalga oshirish kamchiliklardan xoli emas - siz so'rovda to'g'ridan-to'g'ri yozilgan yoqtirishlar yo'qligiga ishonch hosil qilishingiz kerak , bundan tashqari faqat uchta to'ldiruvchi .
Ammo OOP ni chindan ham yoqtirmaydiganlar uchun bu erda men ko'p yillar oldin yozgan va siz shunchaki konfiguratsiya fayliga nusxa ko'chirishingiz va undan foydalanishni boshlashingiz mumkin bo'lgan, so'rovlarni bajarishning xavfsiz usuli va buning ustiga. , shuningdek, ma'lumotlarni olish kodini 3-4 marta qisqartiradi.
function dbget() {
/*
usage: dbget($mode, $query, $param1, $param2,...);
$mode - "dimension" of result:
0 - resource
1 - scalar
2 - row
3 - array of rows
*/
$args = func_get_args();
if (count($args) < 2) {
trigger_error("dbget: too few arguments");
return false;
}
$mode = array_shift($args);
$query = array_shift($args);
$query = str_replace("%s","'%s'",$query);


foreach ($args as $key => $val) {
$args[$key] = mysql_real_escape_string($val);
}


$query = vsprintf($query, $args);
if (!$query) return false;


$res = mysql_query($query);
if (!$res) {
trigger_error("dbget: ".mysql_error()." in ".$query);
return false;
}


if ($mode === 0) return $res;


if ($mode === 1) {
if ($row = mysql_fetch_row($res)) return $row[0];
else return NULL;
}


$a = array();
if ($mode === 2) {
if ($row = mysql_fetch_assoc($res)) return $row;
}
if ($mode === 3) {
while($row = mysql_fetch_assoc($res)) $a[]=$row;
}
return $a;
}
?>

Download 306,49 Kb.

Do'stlaringiz bilan baham:
1   ...   11   12   13   14   15   16   17   18   ...   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