18-ma’ruza. Php dasturlash tilida ma`lumotlar bazasi bilan ishla
mysql_connect() funksiyasi mysql_pconnect() funksiyasi MySQL tizimi bilan bog'lanishni o'rnatadi. Sintaksisi:
int mysql_pconnect ([string xost [:port][:/soketga yo'l] [, string foydalanuvchi_nomi] [,string parol])
yoki
resource mysql_pconnect ([server satri [,username satri[,password satri [, int new_link [, int client_flags]]]]])
xost parametrida MySQL tizimining vakolatlar jadvalida ko'rsatilgan kompyuter xosti nomi beriladi. Bu nom MySQL ishlayotgan Web-serverga so'rovlarni yo'naltirish uchun ishlatiladi, biroq MySQL tizimiga masofadan turib ham bog'lanish mumkin. Xost nomi berilganda shart bo'lmagan parametrlari — port nomeri, soket(lokal xost uchun) yo'lini ham ko'rsatish mumkin. foydalanuvchi_nomi va parol parametrlari MySQL vakolatlari jadvalida berilgan foydalanuvchi nomi va paroli bilan mos tushishi kerak. Agar xost parametri berilmagan bo'lsa, mysql_pconnect() lokal xost bilan aloqani o'rnatishga harakat qiladi.
11.3-misol. MySQL bilan ochiq bog'lanish:
@ $db = mysql_pconnect(“localhost”, “goyipov”, “12345”);
Berilgan misolda localhost — kompyuter xost nomi, goyipov – foydalanuvchi nomi, 12345 esa — parol. mysql_pconnect() funksiyasi oldidan ishlatiladigan @ belgisi bog'lanish urinishi muvaffaqiyatsiz yakunlanganda chiqadigan xatolarni yashirish uchun ishlatiladi. Bu belgi die() funksiyasi chiqazadigan xatolar haqidagi xabarlarni almashtiradi.
Agar funksiyaga bir xil avvalgi parametrlar bilan ikki marta murojaat etilsa, yangi bog'lanish o'rnatilmaydi, lekin murojaat (ssil-ka)ni eski bog'lanishga qaytaradi. Bu holatga duch kelmaslik uchun, newlink parametri ishlatiladi. Bu parametr ixtiyoriy holatda yana bir bog'lanishni ochishga yordam beradi.
client_flags parametri — bu quyidagi konstantalarni kombinatsiyasi: MYSQL_CLIENT_COMPRESS (siqish protokolini ishlatadi), MYSQL_CLIENT_IGNORE_SPACE (funksiya nomidan so'ng probellarni o'qish uchun imkoniyat yaratadi), MYSQL_CLIENT_INTERACTIVE (bog'lanish yopilguncha- wait_timeout bilan birga — interactive timeout sekund kutadi).
new_link parametri PHP 4.2.0-versiyasidan, client_flags parametri esa PHP 4.3.0-versiyasidan boshlab qo'shilgan.
Tizim bilan bog'lanish agar mysql_close() funksiyasi yordamida yopilmagan bo'lsa, skript bajarilishi tugatilganda yopiladi.
11.4-misol goyipov foydalanuvchisi uchun «12345» paroli bilan lokal serverdagi ma'lumotlar bazasiga bog'lanishni o'rnatamiz:
$conn = mysql_pconnect(“localhost”, “goyipov”, “12345”)
or die (“Bog'lanish o'rnatilmadi: mysql_error());
echo “Bog'lanish o'rnatildi”;
?>
Natija: Bog'lanish o'rnatildi
Agar dastur turli xostlarda bir nechta MySQL tizimlari bilan bog'lanishni o'rnatsa, kerakli MySQL tizimiga mysql_pconnect() funksiyasi qaytargan bog'lanish identifikatordan foydalanib so'rovlarni yo'llash mumkin.
11.5-misol.
$linkl = @mysql_pconnect("localhost", "goyipov", "12345") or die("localhost serveriga boglana olmadi!");
$link2 = @mysql_pconnect(“www.birorhost.uz”, “foydalanuvchi”, “parol”) or die (“MySQL server ga bo’glana olmadi!”);
?>
$linkl va $link2 identifikatorlari ma'lumotlar bazasiga so'rovlar bilan oxirgi murojaatni uzatadi.
Ko'p foydalanuvchilar muhitida tizim resurslarini tejash uchun mysql_pconnect() ni mysql_connect() bilan birgalikda ishlatish tavsiya etiladi. mysql_pconnect() funksiyasining parametr tiplanri va qaytaradigan qiymatiari mysql_connect() funksiyasi bilan mos tushadi, bittagina farqi mysql_connect() funksiyasi ma'lumotlar bazasiga doimiy bog'lanib turish uchun ishlatiladi.