Baza bilan ishlash


PHP ni o‘rnatish va sozlash



Download 3,27 Mb.
bet43/44
Sana23.07.2022
Hajmi3,27 Mb.
#840579
1   ...   36   37   38   39   40   41   42   43   44
Bog'liq
malumotlar bazasi 1-8 maruzalar

PHP ni o‘rnatish va sozlash yakunlandi!
4-AMALIY MASHG‘ULOT
MAVZU: PHP YORDAMIDA MYSQLNI BOSHQARISH.
PHP 5 va undan keyingi versiyalari quyidagilar yordamida MySQL ma'lumotlar bazasi bilan ishlashi mumkin.

MySQLi kengaytmasi ("i" yaxshilangan degan ma'noni anglatadi). PDO (PHP ma'lumotlar obyektlari). PHP ning oldingi versiyalarida MySQL kengaytmasi ishlatilgan. Biroq, ushbu kengaytma 2012 yilda bekor qilingan. MySQLi yoki PDO dan foydalanishim kerakmi? Agar sizga qisqa javob kerak bo‘lsa, bu "Sizga nima yoqsa" bo‘ladi. Ham MySQLi, ham PDO o‘zining afzalliklariga ega: PDO 12 xil ma'lumotlar bazasi tizimlarida ishlaydi, MySQLi esa faqat MySQL ma'lumotlar bazalari bilan ishlaydi. Shunday qilib, agar siz loyihangizni boshqa ma'lumotlar bazasidan foydalanishga o‘tishingiz kerak bo‘lsa, PDO bu jarayonni osonlashtiradi. Siz faqat ulanish satrini va bir nechta so‘rovlarni o‘zgartirishingiz kerak. MySQLi yordamida sizga to‘liq kodni - so‘rovlarni qayta yozishingiz kerak bo‘ladi. Ikkalasi ham obyektga yo‘naltirilgan, ammo MySQLi protsessual API-ni ham taklif qiladi. Ikkalasi ham tayyorlangan bayonotlarni qo‘llab-quvvatlaydi. Tayyorlangan bayonotlar SQL in'ektsiyasidan himoya qiladi va veb-dastur xavfsizligi uchun juda muhimdir. Ikkala MySQLi va PDO sintaksisidagi MySQL namunalari.

  • MySQLi (ob'ektga yo‘naltirilgan)

  • MySQLi (protsessual)

  • PDO

  • MySQLi-ni o‘rnatish

Linux va Windows uchun: MySQLi kengaytmasi ko‘p hollarda php5 mysql to‘plami o‘rnatilganda avtomatik ravishda o‘rnatiladi. O‘rnatish tafsilotlari uchun quyidagi manzilga o‘ting: http://php.net/manual/en/mysqli.installation.php
PDO o‘rnatilishi
O‘rnatish tafsilotlari uchun quyidagi manzilga o‘ting: //php.net/manual/en/mysqli.installation.php
MySQL-ga ulanishni oching
MySQL ma'lumotlar bazasidagi ma'lumotlarga kirishimizdan oldin, biz serverga ulanish imkoniyatiga ega bo‘lishimiz kerak:
Misol (MySQLi ob'ektga yo‘naltirilgan)
$servername = "localhost";
$username = "username";
$password = "password";


$conn = new mysqli($servername, $username, $password);


if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Ulandi!!!";
?>

Yuqoridagi obyektga yo‘naltirilgan misolga e'tibor bering:


$ connect_error PHP 5.2.9 va 5.3.0gacha buzilgan. 5.2.9 va 5.3.0 dan oldingi PHP versiyalari bilan mosligini ta'minlash kerak bo‘lsa, uning o‘rniga quyidagi koddan foydalaning:


$servername = "localhost";
$username = "username";
$password = "password";


$conn = mysqli_connect($servername, $username, $password);


if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "Ulandi!!!";
?>
Misol (PDO)
$servername = "localhost";
$username = "username";
$password = "password";


try {
$conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);

$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected successfully";
} catch(PDOException $e) {
echo "Ulanishda xatolik: " . $e->getMessage();
}
?>

Izoh: Yuqoridagi PDO misolida biz ma'lumotlar bazasini (myDB) ham ko‘rsatdik. PDO ulanish uchun haqiqiy ma'lumotlar bazasini talab qiladi. Agar ma'lumotlar bazasi ko‘rsatilmagan bo‘lsa, istisno qilinadi.


Maslahat: PDO-ning katta foydasi shundaki, uning ma'lumotlar bazasi so‘rovlarida yuzaga kelishi mumkin bo‘lgan muammolarni hal qilish uchun istisno sinfi mavjud. Agar try {} bloki ichida istisno bo‘lsa, skript bajarilishini to‘xtatadi va to‘g‘ridan-to‘g‘ri birinchi catch () {} blokiga oqib o‘tadi.
Ulanishni yopish
Ssenariy tugagandan so‘ng ulanish avtomatik ravishda yopiladi. Oldin ulanishni yopish uchun quyidagilarni ishlating. MySQLi ob'ektga yo‘naltirilgan: $conn->close();
MySQLi protsessual: mysqli_close($conn);
PDO: $conn = null;
Quyidа qаndаy qilib klient dаsturi mysql gа ulаnishni ko‘rаmiz. Bu dаstur yordаmidа MySQL-servergа ulаnish, SQL-so‘rоvlаrni bаjаrish vа shu so‘rоvlаr nаtijаlаrini ko‘rib chiqish mumkin. MySQL serveri bilаn bоg‘lаngаn bo‘lishi kerаk. MySQL serverigа mysql dаsturi yordаmidа bоg‘lаnish uchun fоydаlаnuvchi nоmini vа оdаtdа pаrоl kiritish lоzim. Аgаr server vа klient har хil mаshinаlаrdа jоylаshgаn bo‘lsа, MySQL serveri ishgа tushirilgаn хоst nоmini ko‘rsаtish lоzim: Diqqаt! Pаrоlgа egа fоydаlаnuvchi yarаtish uchun $db = mysql_connect("localhost","root",""); funktsiyasidаn fоydаlаnish kerаk.
Shifrlаngаn pаrоl fоydаlаnuvchilаr jаdvаlidа sаqlаnаdi.
1.Ulаnish o‘rnаtilgаndа server klientgа tаsоdifiy sоn yubоrаdi.
2.Klient serverdаgi mа’lumоtni оlish uchun pаrоlni shifrlаydi vа serverdn оlingаn tаsоdifiy sоn hamdа pаrоl аsоsidа yangi sоn hisoblаydi. Bu sоn servergа yubоrilаdi.
3.Server sаqlаngаn shifrlаngаn pаrоl vа tаsоdifiy sоn аsоsidа yangi sоn hisoblаydi. Аgnаr bu sоn klient yubоrgаn sоngа teng bo‘lsа bоg‘lаnish o‘rnаtilаdi.
Jаdvаldа yozuvlаrni izlаsh (SELECT)

Download 3,27 Mb.

Do'stlaringiz bilan baham:
1   ...   36   37   38   39   40   41   42   43   44




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