PHP MySqli bilan ishlash asoslari. Php da ma'lumotlar bazasi bilan ishlash MySQL php ma'lumotlar bazasiga ulanish

PHP TOOLS BILAN MySQL MA'LUMOTLAR BAZASI BILAN ISHLASH

Leksiya. Tayyorlagan Proxorov V.S.


1. PHP SCENARIOSLARINI MySQL jadvallari bilan ulatish

PHP yordamida MySQL ma'lumotlar bazasi bilan ishlash imkonini beruvchi eng ko'p ishlatiladigan funksiyalarni ko'rib chiqamiz.

PHP va MySQL o'zaro aloqada bo'lganda, dastur ma'lumotlar bazasi ma'lumotlar bazasi bilan funktsiyalar to'plami orqali o'zaro ta'sir qiladi.

1.1 Serverga ulanish. Funktsiya mysql_connect

Ma'lumotlar bazasi bilan ishlashdan oldin siz u bilan tarmoq ulanishini o'rnatishingiz, shuningdek foydalanuvchini avtorizatsiya qilishingiz kerak. Buning uchun mysql_connect() funksiyasidan foydalaniladi.

resurs mysql_connect(]])

Bu funktsiya xost $serverida joylashgan MySQL ma'lumotlar bazasiga tarmoq ulanishini o'rnatadi (sukut bo'yicha bu localhost, ya'ni joriy kompyuter) va ochiq ulanish identifikatorini qaytaradi. Barcha keyingi ishlar ushbu identifikator bilan amalga oshiriladi. Ushbu identifikatorni (tutqichni) argument sifatida qabul qiladigan barcha boshqa funktsiyalar tanlangan ma'lumotlar bazasini noyob tarzda aniqlaydi. Ro'yxatdan o'tishda foydalanuvchi nomini ko'rsating $username va $password (sukut bo'yicha, joriy jarayon ishlayotgan foydalanuvchi nomi - skriptlarni disk raskadrovka qilishda: root va bo'sh parol):

$dbpasswd = ""; //Parol

//Ogohlantirishni ko'rsatish

echo("

");

$dblocation, $dbuser va $dbpasswd o'zgaruvchilari server nomi, foydalanuvchi nomi va parolni saqlaydi.

1.2 Serverdan uzilish. Funktsiya mysql_close

MySQL serveriga ulanish skript tugallanganda yoki mysql_close funksiyasi chaqirilganda avtomatik ravishda yopiladi.

bool mysql_close()

Ushbu funktsiya MySQL serveriga ulanishni yopadi va agar operatsiya muvaffaqiyatli bo'lsa, "true", aks holda "false" qiymatini qaytaradi. Funktsiya argument sifatida mysql_connect funktsiyasi tomonidan qaytarilgan ma'lumotlar bazasiga ulanish dastagini oladi.

$dblocation = "localhost"; //Server nomi

$dbuser = "root"; //Foydalanuvchi nomi

$dbpasswd = ""; //Parol

//Ma'lumotlar bazasi serveriga ulaning

//Funktsiyani chaqirishdan oldin @ belgisi bilan xato chiqishini bostirish

$dbcnx = @ mysql_connect ($dblocation, $dbuser, $dbpasswd);

agar (!$dbcnx) //Agar deskriptor 0 bo'lsa, ulanish o'rnatilmagan

//Ogohlantirishni ko'rsatish

echo("

Ma'lumotlar bazasi serveri hozirda mavjud emas, shuning uchun sahifani to'g'ri ko'rsatib bo'lmaydi.");

agar (mysql_close($dbcnx)) // ulanishni yoping

echo("Ma'lumotlar bazasi ulanishi tugatildi");

echo("Ulanishni yakunlay olmadik");

1.3 Ma'lumotlar bazasini yaratish. MA'LUMOTLAR BAZASI funksiyasini yaratish

Buyruq - ma'lumotlar bazasini yaratish faqat server ma'muri uchun mavjud va ko'pgina hosting saytlarida uni bajarib bo'lmaydi:

MA'LUMOTLAR BAZASIMa'lumotlar bazasi nomini yaratish

DatabaseName nomli yangi ma'lumotlar bazasini yaratadi.

Ushbu funktsiya bilan ishlashga misol:

@mysql_query("ma'lumotlar bazasini yaratish $dbname");

Hamma joyda apostroflardan (“SQL – buyruq”) SQL – buyruqlarini o‘z ichiga olgan qatorlar uchun chegaralovchi sifatida foydalanish tavsiya etiladi. Bu hech qanday $ o'zgaruvchisi tasodifan interpolyatsiya qilinmasligini ta'minlaydi (ya'ni uning qiymati bilan almashtiriladi) va skript xavfsizligini oshiradi.

CREATE DATABASE ma'lumotlar bazasini yaratish buyrug'i faqat superfoydalanuvchi uchun mavjud va ko'pchilik xosting saytlarida uni oddiy foydalanuvchi bajarishi mumkin emas. U faqat server ma'muri uchun mavjud.

Tajribalar uchun buyruq satridan SQL so'rovini bajarish orqali test bazasi ma'lumotlar bazasini yaratamiz. Buning uchun siz MySQL-ga kirishingiz va MySQL buyruq qatoriga kirishingiz kerak:

mysql> ma'lumotlar bazasi test bazasini yaratish;

Shundan so'ng siz quyidagilarni yozishingiz kerak:

mysql>test bazasidan foydalaning;

Ma'lumotlar bazasi yaratilgan:



1.4 Ma'lumotlar bazasini tanlash. Funktsiya mysql_select_db

MySQL serveriga birinchi so'rovni yuborishdan oldin biz qaysi ma'lumotlar bazasi bilan ishlashimizni ko'rsatishimiz kerak. mysql_select_db funktsiyasi buning uchun mo'ljallangan:

bool mysql_select_db(string $ma'lumotlar bazasi_name [,resurs $link_identifier])

U PHP ga kelgusida $link_identifier ulanishidagi operatsiyalar $database_name ma'lumotlar bazasidan foydalanishi haqida xabar beradi.

Ushbu funktsiyadan foydalanish SQL so'rovida use buyrug'ini chaqirishga tengdir, ya'ni mysql_select_db funktsiyasi keyingi ish uchun ma'lumotlar bazasini tanlaydi va barcha keyingi SQL so'rovlari tanlangan ma'lumotlar bazasiga qo'llaniladi. Funktsiya argument sifatida tanlangan ma'lumotlar bazasi nomini va ulanish identifikatori manbasini oladi. Agar operatsiya muvaffaqiyatli bajarilgan bo'lsa, funktsiya "true", aks holda "false" qiymatini qaytaradi:

//Ma'lumotlar bazasiga ulanish kodi

agar (! @mysql_select_db($dbname, $dbcnx))

//Ogohlantirishni ko'rsatish

echo("

Ma'lumotlar bazasi hozirda mavjud emas, shuning uchun sahifani to'g'ri ko'rsatib bo'lmaydi.");

1.5 Xatolarni hal qilish

Agar MySQL bilan ishlashda xatolar yuzaga kelsa (masalan, so'rovdagi qavslar muvozanatlanmagan yoki parametrlar etarli bo'lmasa), unda xato xabari va uning raqamini quyida tavsiflangan ikkita funktsiya yordamida olish mumkin.

Ushbu funktsiyalardan ehtiyotkorlik bilan va tezda foydalanish muhim, chunki aks holda skriptlarni tuzatish qiyinlashishi mumkin.

● Funktsiya:

int mysql_errno()

oxirgi xabar qilingan xato raqamini qaytaradi. Agar skriptning bajarilishi davomida faqat bitta ulanish o'rnatilgan bo'lsa, $link_identifier ulanish identifikatorini o'tkazib yuborish mumkin.

● Funktsiya:

string mysql_error()

raqamni emas, balki xato xabari matnini o'z ichiga olgan qatorni qaytaradi. Nosozliklarni tuzatish uchun foydalanish qulay. Odatda mysql_error yoki die() konstruktsiyasi bilan birga ishlatiladi, masalan:

@mysql_connect("localhost", "foydalanuvchi", "parol")

or die("Ma'lumotlar bazasiga ulanishda xatolik: ".mysql_error());

@ operatori, odatdagidek, xatolik yuz berganda paydo bo'lishi mumkin bo'lgan standart ogohlantirishni bostirish uchun xizmat qiladi.

PHP ning so'nggi versiyalarida MySQL funksiyalaridagi ogohlantirishlar sukut bo'yicha qayd etilmaydi.

1.6 MySQL ga ulanishni avtomatlashtirish. Fayl ( config.php )

Odatda, saytda bir xil ma'lumotlar bazasiga kirish kerak bo'lgan bir nechta skriptlar mavjud.

MySQL-ga ulanish uchun mas'ul bo'lgan kodni alohida faylga ajratish tavsiya etiladi, so'ngra uni kiritish funktsiyasidan foydalanib kerakli skriptlarga ulash tavsiya etiladi.

Server nomi $dblocation, foydalanuvchi nomi $dbuser, parol $dbpasswd va maʼlumotlar bazasi nomi $dbname boʻlgan oʻzgaruvchilar eʼlon qilingan bitta faylga (config.php) maʼlumotlar bazasini ulash, tanlash va yaratish funksiyalarini joylashtirish mantiqan.

config.php ro'yxati:

serverga ulanish va ma'lumotlar bazasini tanlash parametrlarini o'z ichiga olgan faylning //config.php kodi

// brauzerga ulanish xato xabarlarini chiqaradi

$dblocation = "localhost"; //Server nomi

$dbname = "ma'lumotlar bazasi nomini kiriting" //Ma'lumotlar bazasi nomi: yaratilmoqda yoki mavjud

$dbuser = "root"; //Ma'lumotlar bazasi foydalanuvchi nomi

$dbpasswd = ""; //Parol

//Ma'lumotlar bazasi serveriga ulaning

//Funktsiyani chaqirishdan oldin @ belgisi bilan xato chiqishini bostirish

$dbcnx=@mysql_connect($dblocation,$dbuser,$dbpasswd);

agar (!$dbcnx) //Agar deskriptor 0 bo'lsa, ma'lumotlar bazasi serveriga ulanish o'rnatilmagan.

//Ogohlantirishni ko'rsatish

echo("

Ma'lumotlar bazasi serveri hozirda mavjud emas, shuning uchun sahifani to'g'ri ko'rsatib bo'lmaydi.

");

//$dbname ma'lumotlar bazasini yarating - buni faqat superfoydalanuvchi qila oladi

//Agar ma'lumotlar bazasi allaqachon mavjud bo'lsa, halokatli bo'lmagan xato bo'ladi

@mysql_query("Agar $dbname mavjud bo'lmasa, MA'LUMOTLAR BAZASINI YARATING");

//Ma'lumotlar bazasiga ulanish kodi: biz yangi yaratilgan ma'lumotlar bazasini yoki allaqachon mavjud ma'lumotlar bazasini aniq tanlaymiz.

//Funktsiyani chaqirishdan oldin @ belgisi bilan xato chiqishini bostirish

if(!@mysql_select_db($dbname, $dbcnx)) //Agar deskriptor 0 boʻlsa, maʼlumotlar bazasiga ulanish oʻrnatilmagan.

//Ogohlantirishni ko'rsatish

echo("

Ma'lumotlar bazasi hozirda mavjud emas, shuning uchun sahifani to'g'ri ko'rsatib bo'lmaydi.

");

//Xabarni chop etuvchi kichik yordamchi funksiya

//ma'lumotlar bazasi so'rovida xatolik yuzaga kelganda xato xabari

puterror funktsiyasi ($xabar)

echo("");



2. MA'LUMOTLAR BAZASI SO'ROVLARINI BAJARISH

2.1 Jadval yaratish. Funktsiya JADVAL TUZISH:

JADVAL YARATISH Jadval nomi (maydon nomi turi, maydon nomi turi,)

Ushbu buyruq ma'lumotlar bazasida ularning nomlari (FieldName) va ko'rsatilgan turlari bo'yicha aniqlangan ustunlar (maydonlar) bilan yangi jadval yaratadi. Jadvalni yaratgandan so'ng, unga ushbu buyruqda ko'rsatilgan maydonlardan iborat yozuvlarni qo'shishingiz mumkin.

Roʻyxat test_11.php. Ma'lumotlar bazasida yangi jadval yaratuvchi dastur:

"config.php" ni o'z ichiga oladi;//Serverga ulaning va ma'lumotlar bazasini tanlang

mysql_query("Agar odamlar bo'lmasa, JADVAL YORING

id INT AUTO_INCREMENT ASOSIY KEY,

or die("MySQL xatosi: ".mysql_error());



Ushbu skript ikkita maydonga ega yangi odamlar jadvalini yaratadi. Birinchi maydonda INT turi (integer) va nom identifikatori mavjud. Ikkinchisi TEXT turi (matn qatori) va nom nomi.

Agar jadval mavjud bo'lsa, yoki die() konstruktsiyasi ishlaydi.

Agar ixtiyoriy if not exists bandi belgilangan bo'lsa, MySQL serveriga ma'lumotlar bazasida ko'rsatilgan nomga ega jadval allaqachon mavjud bo'lsa, xato xabari yaratmasligi kerakligini aytadi.

2011 yilda PHP MySQL-ni qo'llab-quvvatlash tugashi munosabati bilan PDO yoki MySqli. Ular (MySQL-dan ko'ra) yaxshiroq funksionallikka ega va OOP (ob'ektga yo'naltirilgan interfeys) API taklif qiladi. Qaysi biri yaxshiroq - bu boshqa maqola uchun mavzu, ushbu maqolada biz MySqli bilan ishlash asoslarini tushunishga harakat qilamiz. Shuning uchun, keling, ko'proq cho'zmasdan, PHP MySqli yordamida yozuvlarni (ma'lumotlar/hujjatlar/ma'lumotlar) ulash, tanlash, kiritish, yangilash va o'chirishni ko'rib chiqishga o'tamiz. Umid qilamanki, ushbu maqola PHP MySqli bilan ishlashda yuzaga kelishi mumkin bo'lgan muammolarni hal qilishda foydali bo'ladi.

MySqli o'rnatilmoqda

PHP 5.3.0+ versiyasidan foydalanilganda MySqli sukut bo'yicha mavjud; eski versiyalar uchun uni mavjud qilish uchun fayl ichiga php_mysqli.dll DLL qo'shishingiz kerak. php.ini va kengaytma=php_mysqli.dll qatoriga izohni olib tashlash orqali php.ini tahrirlang. Linuxda PHP5 mysql paketini o'rnatganingizda MySQLIi avtomatik ravishda o'rnatiladi. Windows va Linux tizimlarida o'rnatish haqida batafsil ma'lumotni topishingiz mumkin.

Ma'lumotlar bazasiga ulanish

MySqli ma'lumotlar bazasiga ulanishning ikkita usulini taklif qiladi: protsessual va ob'ektga yo'naltirilgan. Ob'ektga yo'naltirilgandan foydalanish tavsiya etiladi. Protsessual (eski) MySql ga o'xshaydi, shuning uchun u yangi boshlanuvchilar uchun afzalroq bo'lishi mumkin, lekin tavsiya etilmasligini yodda tutish kerak.

PHP

//protsessual uslub $mysqli = mysqli_connect("host", "foydalanuvchi nomi", "parol", "ma'lumotlar bazasi_nomi"); //ob'ektga yo'naltirilgan uslub (tavsiya etiladi) $mysqli = new mysqli("xost", "foydalanuvchi nomi", "parol", "ma'lumotlar bazasi_nomi");

Quyida ma'lumotlar bazasiga ulanishni ob'ektga yo'naltirilgan usulda ochish ko'rsatilgan. Ushbu usul quyidagi barcha misollarda qo'llaniladi.

PHP

connect_error) ( die("Xato: (". $mysqli->connect_errno.") ". $mysqli->connect_error); ) ?>

Olingan qatorni assotsiativ massiv sifatida tanlash (tanlash).

mysqli_fetch_assoc() : Quyidagi kod natijalar qatorini assotsiativ massiv sifatida oladi. Qaytarilgan massiv ma'lumotlar bazasidan olingan qatorlarni o'z ichiga oladi, bu erda ustun nomlari ichki ma'lumotlarga kirish uchun ishlatiladigan kalit bo'ladi. Quyida ko'rsatilganidek, ma'lumotlar HTML jadvali sifatida ko'rsatiladi.

PHP

connect_error) ( die("Xato: (". $mysqli->connect_errno.") ". $mysqli->connect_error); ) //MySqli so'rovini tanlash $results = $mysqli-> "; while($row = $results->fetch_assoc()) (chop etish " "; chop etish " "; chop etish " "; chop etish " "; chop etish " "; chop etish " "; chop etish ""; ) chop etish "
".$satr["id"]."".$satr["mahsulot_kodi"]."".$satr["mahsulot_nomi"]."".$satr["mahsulot_dec"]."".$row["price"]."
"; // Natija bilan bog'langan xotirani bo'shatadi $results->free(); // ulanishni yopish $mysqli->close(); ?>

Olingan qatorni massiv sifatida tanlash (tanlash) (assotsiativ, oddiy yoki ikkalasi)

fetch_array() funktsiyasi: mysqli_fetch_row va mysqli_fetch assoc funksiyalarining birlashgan funksiyasiga ega massivni qaytaradi. Bu funktsiya mysqli_fetch_row() funksiyasining kengaytirilgan versiyasidir; Ma'lumotlarga kirish uchun satr yoki raqamlardan foydalanishingiz mumkin.

PHP

connect_error) ( die("Xato: (". $mysqli->connect_errno.") ". $mysqli->connect_error); ) //MySqli-ni tanlash so'rovi $results = $mysqli->query("SELECT id, product_code, product_desc) , narxlari FROM mahsulotlar"); chop etish " fetch_array()) (chop etish " "; chop etish " "; chop etish " "; chop etish " "; chop etish " "; chop etish " "; chop etish ""; ) chop etish "
".$satr["id"]."".$satr["mahsulot_kodi"]."".$satr["mahsulot_nomi"]."".$satr["mahsulot_dec"]."".$row["price"]."
"; // Natija bilan bog'langan xotirani bo'shatadi $results->free(); // ulanishni yopish $mysqli->close(); ?>

Natijalar qatorini obyekt sifatida tanlash (tanlash).

fetch_object() : Natijani ob'ekt sifatida olish uchun siz MySqli fetch_object() dan foydalanishingiz kerak. Ob'ektning atributlari natijalar to'plamida topilgan maydonlarning nomlarini ko'rsatadi.

PHP

connect_error) ( die("Xato: (". $mysqli->connect_errno.") ". $mysqli->connect_error); ) //MySqli-ni tanlash so'rovi $results = $mysqli->query("SELECT id, product_code, product_desc) , narxlari FROM mahsulotlar"); chop etish " "; while($row = $results->fetch_object()) (chop etish " "; chop etish " "; chop etish " "; chop etish " "; chop etish " "; chop etish " "; chop etish ""; ) chop etish "
".$row->id."".$satr->mahsulot_kodi."".$satr->mahsulot_nomi."".$satr->mahsulot_dec."".$ qator->narx."
"; // ulanishni yopish $mysqli->close(); ?>

Bitta qiymatni tanlash (tanlash).

Fetch_object (Cameron Spear usuli) yordamida ma'lumotlar bazasidan bitta qiymatni olish mumkin.

PHP

connect_error) ( die("Xato: (". $mysqli->connect_errno.") ". $mysqli->connect_error); ) //zamanlangan PHP funksiyalari $product_name = $mysqli->query("mahsulot_nomini QAYERDA identifikatordan tanlang. = 1")->fetch_object()->mahsulot_nomi; $product_name; //chiqish qiymati $mysqli->close(); ?>

Jadvaldagi qatorlar soni olinmoqda (SELECT COUNT).

Ba'zan jadvaldagi qatorlar sonini bilishingiz kerak, ayniqsa sahifalarni raqamlashda.

PHP

connect_error) ( die("Xato: (". $mysqli->connect_errno.") ". $mysqli->connect_error); ) //yozuvlarning umumiy sonini olish $results = $mysqli->query("COUNT SELECT(*) ) FROM foydalanuvchilar"); $get_total_rows = $results->fetch_row(); // jami yozuvlarni $mysqli->close() oʻzgaruvchisida saqlang; ?>

Tayyorlangan bayonotlar yordamida SELECT

tayyorlangan bayonotlar- bir xil shablon bo'yicha tuzilgan takroriy so'rovlarning ketma-ket bajarilishini tezlashtirishga imkon beruvchi maxsus DBMS vositasi.

MySqli-ning xususiyatlaridan biri allaqachon yozilgan shablonlardan foydalanish imkoniyatidir: ya'ni so'rovni faqat bir marta yozish kerak, shundan so'ng uni turli parametrlar bilan ko'p marta bajarish mumkin. Oldindan yozilgan shablonlardan foydalanish katta jadvallar va murakkab so'rovlar uchun ish faoliyatini yaxshilaydi. Zararli kodni kiritishning oldini olish uchun har bir so'rov server tomonidan alohida tahlil qilinadi.

Quyidagi kod ma'lumotlar bazasidan ma'lumotlarni olish uchun shablondan (tayyorlangan bayonot) foydalanadi. Agregat ? SQL so'rovida u marker vazifasini bajaradi va parametr bilan almashtiriladi, bu esa o'z navbatida satr, butun son, juft yoki blob bo'lishi mumkin. Bizning holatlarimizda bu $search_product qatori.

PHP

$search_product = "PD1001"; //mahsulot identifikatori //tayyorlangan bayonot yarating $query = "Tanlash identifikatori, mahsulot_kodi, mahsulot_dec, QAYERDA mahsulot_kodi=?"; $statement = $mysqli->tayyorlash($query); //markerlar uchun bog'lash parametrlari, bu erda (s = string, i = integer, d = double, b = blob) $statement->bind_param("s", $search_product); //so'rovni bajarish $statement->execute(); //natija o'zgaruvchilarini bog'lash $statement-> "; //yozuvlarni olish while($statement->fetch()) ( chop etish " "; chop etish " "; chop etish " "; chop etish " "; chop etish " "; chop etish ""; ) chop etish "
".$id."".$mahsulot_kodi."".$product_desc."".$narxi."
"; // ulanishni yopish $statement->yopish();

Bir nechta parametrlar bilan bir xil so'rov:

PHP

$search_ID = 1; $search_product = "PD1001"; $query = "ID, mahsulot_kodi, mahsulot_dec, ID=? VA mahsulot_kodi= bo'lgan mahsulotlardan narxni tanlang?"; $statement = $mysqli->tayyorlash($query); $statement->bind_param("is", $search_ID, $search_mahsulot); $statement->execute(); $statement->bog'lash_natijasi($id, $mahsulot_kodi, $mahsulot_dec, $narx); chop etish " "; while($statement->fetch()) (chop etish " "; chop etish " "; chop etish " "; chop etish " "; chop etish " "; chop etish ""; ) chop etish "
".$id."".$mahsulot_kodi."".$product_desc."".$narxi."
"; // ulanishni yopish $statement->yopish();

Yozuv qo'shing

Quyidagi yozuv jadvalga yangi qator qo'shadi.

PHP

real_escape_string("P1234")."""; $product_name = """.$mysqli->real_escape_string("42 dyuymli televizor")."""; $product_price = """.$mysqli->real_escape_string("600) ")."""; //MySqli Insert Query $insert_row = $mysqli->query("INSERT INTO mahsulotlar (mahsulot_kodi, mahsulot_nomi, narx) VALUES($mahsulot_kodi, $mahsulot_narxi)" )( chop "); Oxirgi kiritilgan yozuvning identifikatori muvaffaqiyatli: " .$mysqli->insert_id ."
"; )else( die("Xato: (". $mysqli->errno .") ". $mysqli->xato); ) ?>

Quyidagi parcha tayyor bayonotlar yordamida bir xil ma'nolarni kiritadi. Yuqorida aytib o'tganimizdek, andozalar SQL in'ektsiyasiga qarshi juda samarali. Berilgan misol uchun ulardan foydalanish eng yaxshi variant hisoblanadi.

PHP

//ma'lumotlar bazasi jadvaliga kiritiladigan qiymatlar $product_code = "P1234"; $product_name = "42 dyuymli televizor"; $mahsulot_narxi = "600"; $query = "Mahsulotlarni (mahsulot_kodi, mahsulot_nomi, narxi) VALUES (?, ?, ?) INSERT INTO"; $statement = $mysqli->tayyorlash($query); //markerlar uchun bog'lash parametrlari, bu erda (s = string, i = integer, d = double, b = blob) $statement->bind_param("sss", $mahsulot_kodi, $mahsulot_nomi, $mahsulot_narxi); if($statement->execute())( "Muvaffaqiyatli! Oxirgi kiritilgan yozuvning identifikatori: " .$statement->insert_id ”ni chop eting.
"; )else( die("Xato: (". $mysqli->errno .") ". $mysqli->xato); ) $statement->close();

Bir nechta yozuvlarni QO'ShIRING

Bir vaqtning o'zida bir nechta satrlarni kiritish ustun qiymatlari qatorini kiritish orqali amalga oshiriladi, har bir qiymat qatori qavslar bilan o'ralgan va boshqalardan vergul bilan ajratilgan. Ba'zan siz qancha yozuvlar kiritilgan, yangilangan yoki o'chirilganligini bilib olishingiz kerak, buning uchun mysqli_affected_rows dan foydalanishingiz mumkin.

PHP

//mahsulot 1 $product_code1 = """.$mysqli->real_escape_string("P1")."""; $product_name1 = """.$mysqli->real_escape_string("Google Nexus")."""; $product_price1 = """.$mysqli->real_escape_string("149")."""; //mahsulot 2 $product_code2 = """.$mysqli->real_escape_string("P2")."""; $product_name2 = """.$mysqli->real_escape_string("Apple iPad 2")."""; $product_price2 = """.$mysqli->real_escape_string("217")."""; //mahsulot 3 $product_code3 = """.$mysqli->real_escape_string("P3")."""; $product_name3 = """.$mysqli->real_escape_string("Samsung Galaxy Note")."""; $product_price3 = """.$mysqli->real_escape_string("259")."""; //Bir nechta qatorlarni kiritish $insert = $mysqli->query("INSERT INTO mahsulotlar (mahsulot_kodi, mahsulot_nomi, narx) VALUES ($mahsulot_kodi1, $mahsulot_nomi1, $mahsulot_narxi1), ($mahsulot_kodi2, $mahsulot_nomi2, $mahsulot_narxi2), ($ mahsulot_kodi3, $mahsulot_nomi3, $mahsulot_narxi3)"); if($insert)( //mysqli_affected_rows yordamida jami kiritilgan yozuvlarni qaytarish "Muvaffaqiyat! Jami " .$mysqli->affected_rows ." qatorlari qo'shildi.
"; )else( die("Xato: (". $mysqli->errno .") ". $mysqli->xato); )

Yozuvlarni yangilash/oʻchirish

Yozuvlarni yangilash va o'chirish printsipi bir xil. So'rovlar qatorini MySql-ni yangilash yoki o'chirish bilan almashtirish kifoya (men tushunmadim, o'zingiz ko'ring).

PHP

//MySqli yangilash so'rovi $results = $mysqli->query("Yangilanish mahsulotlari SET product_name="52 dyuymli televizor", product_code="323343" WHERE ID=24"); //MySqli so'rovini o'chirish //$results = $mysqli->query("ID=24 QAYERDAGI mahsulotlardan o'chirish"); if($results)( "Muvaffaqiyatli! yozuv yangilandi/oʻchirildi"ni chop eting; )else( "Xato: (". $mysqli->errno .") ". $mysqli->xato; )

Tayyorlangan bayonotlar yordamida yangilang

Tayyorlangan bayonotlar yordamida yozuvni yangilash misoli quyida ko'rsatilgan.

PHP

$product_name = "52 dyuymli televizor"; $mahsulot_kodi = "9879798"; $find_id = 24; $query = "Mahsulotlarni YANGILASH SET product_name=?, product_code=? WHERE ID=?"; $statement = $mysqli->tayyorlash($query); //markerlar uchun bog'lash parametrlari, bu erda (s = string, i = integer, d = double, b = blob) $results = $statement->bind_param("ssi", $product_name, $product_code, $find_id); if($results)( "Muvaffaqiyat! Yozuv yangilandi" chop etish; )else( "Xato: (". $mysqli->errno .") ". $mysqli->xato; )

Eski yozuvlarni o'chirish

Serverda 1 kundan ortiq bo'lgan barcha yozuvlar o'chiriladi; Siz kunlar sonini o'zingiz belgilashingiz mumkin.

PHP

//MySqli so'rovini o'chirish $results = $mysqli- (NOW() - INTERVAL 1 DAY)"); if($results)( "Muvaffaqiyat! o'chirildi bir kunlik yozuvlar" ni chop eting; )else( "Xato: ("). $mysqli- Xulosa

Shubhasiz, MySqli standart MySql PHP kengaytmasidan sezilarli darajada yaxshiroq, garchi ularning ishlash tamoyillari juda o'xshash. Umid qilamanki, yuqoridagi ma'lumotlar kelajakda loyihalarni yaratish va ko'chirishda foydali bo'ladi. Qulaylik uchun misol fayllarini yuklab olish imkoniyati quyida amalga oshirildi. Buni yuklab olish tugmasini bosish orqali amalga oshirish mumkin.

MySQL - relyatsion ma'lumotlar bazasi turi. MySQL turli xil foydalanuvchilar ulanishi mumkin bo'lgan serverdir.

Internetga ulansangiz, foydalanuvchi nomingiz va parolingizni, shuningdek, ulanayotgan server nomini kiritasizmi? MySQL bilan ishlashda xuddi shu tizimdan foydalaniladi.

Yana bir narsa: relyatsion ma'lumotlar bazasi nima? Jadvallar asosidagi relyatsion vositalar. Microsoft-ning mashhur elektron jadval muharriri Excel, aslida relyatsion ma'lumotlar bazasi muharriri.

MySQL serveriga ulanish

PHP da MySQL serveriga ulanish uchun mysqli_connect() funksiyasidan foydalaning. Bu funksiya uchta argumentni oladi: server nomi, foydalanuvchi nomi va parol.

Mysqli_connect() funktsiyasi ulanish identifikatorini qaytaradi, u o'zgaruvchida saqlanadi va keyinchalik ma'lumotlar bazalari bilan ishlash uchun ishlatiladi.

MySQL server ulanish kodi:

$link = mysqli_connect("localhost", "root", "");

Bunday holda, men Denwere-da mahalliy mashinada ishlayapman, shuning uchun xost nomi localhost, foydalanuvchi nomi root va parol yo'q.

MySQL bilan ishlashni tugatgandan so'ng ulanish ham yopilishi kerak. Ulanishni yopish uchun mysqli_close() funksiyasidan foydalaniladi. Keling, misolni kengaytiraylik:

$link = mysqli_connect("localhost", "root", ""); if (!$link) die("Xato"); mysqli_close($link);

Bu erda biz ulanish identifikatorini haqiqatni tekshirdik; agar ulanishimizda biror narsa noto'g'ri bo'lsa, u holda dastur bajarilmaydi, die() funktsiyasi o'z bajarilishini to'xtatadi va brauzerda xato xabarini ko'rsatadi.

Ulanish xatolari

Ulanishni tekshirish uchun quyidagi funktsiyalardan foydalaniladi:

  • mysqli_connect_errno() - oxirgi ulanish urinishining xato kodini qaytaradi. Hech qanday xato bo'lmasa, nolni qaytaradi.
  • mysqli_connect_error() - MySQL serveriga oxirgi ulanish xatosining tavsifini qaytaradi.
define("HOST", "localhost"); define("DB_USER", "root"); define("DB_PASSWORD", ""); define("DB", "sinovchi"); $link = mysqli_connect(HOST, DB_USER, DB_PASSWORD, DB); /* ulanishni tekshiring */ agar (mysqli_connect_errno()) ( printf("Ulanib bo'lmadi: %s\n", mysqli_connect_error()); exit(); ) else ( printf("Muvaffaqiyatli ulanish: %s\n" , mysqli_get_host_info($link));

mysqli_get_host_info() funksiyasi foydalanilayotgan ulanish turini o'z ichiga olgan qatorni qaytaradi.

Shuni ham yodda tutingki, belgilash buyrug'idan foydalanib, barcha ulanish parametrlarini doimiylar sifatida saqladim. Katta loyihalarni yozganingizda va MySQL serveriga ulanadigan ko'plab fayllar mavjud bo'lsa, ulanish parametrlarini alohida faylda saqlash va uni kiritish yoki talab funksiyasidan foydalanib kiritish qulay.

Ma'lumotlar bazasini tanlash

MySQL serveri bir nechta ma'lumotlar bazasiga ega bo'lishi mumkin. Avvalo, biz ishlashimiz kerak bo'lgan bazani tanlashimiz kerak. PHP da buning uchun mysqli_connect() funksiyasida yana bir parametr mavjud - ma'lumotlar bazasi nomi.

Men uni kompyuterimda phpMyAdmin orqali tester nomi bilan yaratdim. Keling, u bilan bog'lanamiz:

$link = mysqli_connect("localhost", "root", "", "tester"); if (!$link) die("Xato"); mysql_close($link);

Shunday qilib, biz ishlash uchun ma'lumotlar bazasini tanladik. Ammo biz bilganimizdek, relyatsion ma'lumotlar bazasi jadvallardan iborat va bizning ma'lumotlar bazasida hali jadvallar mavjud emas. Ma'lumotlar bazasi bo'sh, jadvallarsiz yaratilgan. Jadvallar unga alohida qo'shilishi kerak. Endi unga PHP yordamida jadval qo'shamiz.

Jadval yarating

MySQL ma'lumotlar bazalari nomida SQL qismi tuzilgan so'rovlar tili sifatida tarjima qilingan Strukturalangan so'rovlar tilini anglatadi. Biz so'rovlarni SQL da yozamiz va ularni PHP dasturidan MySQL serveriga yuboramiz.

Jadval yaratish uchun biz faqat CREATE TABLE buyrug'ini berishimiz kerak. Keling, foydalanuvchilarning loginlari (login ustuni) va parollari (parol ustuni) saqlanadigan ustunlarida foydalanuvchilar deb nomlangan jadval yaratamiz.

$query = "JADVAL YARATISH foydalanuvchilar (login VARCHAR(20), parol VARCHAR(20))";

Ushbu kodda biz $query o'zgaruvchisiga SQL so'rovini ifodalovchi matn qatorini tayinladik. Biz VARCHAR(20) ma'lumotlar turidagi ikkita ustundan iborat login va parolni o'z ichiga olgan foydalanuvchilar deb nomlangan jadval yaratamiz. Ma'lumotlar turlari haqida keyinroq gaplashamiz, hozircha men VARCHAR(20) maksimal uzunligi 20 belgidan iborat bo'lgan satr ekanligini ta'kidlayman.

So'rovimizni MySQL serveriga yuborish uchun biz PHP funktsiyasidan foydalanamiz mysqli_query(). Agar operatsiya muvaffaqiyatli bajarilgan bo'lsa, bu funktsiya ijobiy raqamni qaytaradi va xatolik yuzaga kelgan bo'lsa, noto'g'ri raqamni qaytaradi (so'rov sintaksisi noto'g'ri yoki dastur so'rovni bajarish uchun ruxsatga ega emas).

$link = mysqli_connect("localhost", "root", "", "tester"); if (!$link) die("Xato"); $query = "JADVAL YARATISH foydalanuvchilar (login VARCHAR(20), parol VARCHAR(20))"; mysqli_query($query); mysqli_close($link);

SQL so'rovini o'zgaruvchiga yozish shart emas; uni to'g'ridan-to'g'ri mysql_query() funksiyasiga argument sifatida yozish mumkin. Bu shunchaki kodni o'qilishi mumkin bo'lgan qiladi.

Ushbu skriptning bitta kamchiligi bor - u brauzerga hech narsa chiqarmaydi. Keling, xabar qo'shamiz:

$link = mysqli_connect("localhost", "root", "", "tester"); if (!$link) die("Xato"); $query = "JADVAL YARATISH foydalanuvchilar (login VARCHAR(20), parol VARCHAR(20))"; if (mysqli_query($query)) echo "Jadval yaratildi."; else echo "Jadval yaratilmadi."; mysqli_close($link);

Agar biz ushbu skriptni qayta ishga tushirsak, brauzerda "Jadval yaratilmagan" degan xabarni ko'ramiz. Gap shundaki, jadval birinchi ishga tushirish vaqtida yaratilgan va yana bir xil nomdagi jadval yaratish mumkin emas. Biz xatolik holatiga duch keldik, shuning uchun MySQL bilan ishlashda xatolarni qayta ishlash haqida gapirish vaqti keldi.

Qayta ishlashda xato

Dasturni disk raskadrovka qilishda bizga xato haqida aniq ma'lumot kerak bo'lishi mumkin. MySQL-da xatolik yuz berganda, ma'lumotlar bazasi serveri xato raqamini va uning tavsifi bilan chiziqni o'rnatadi. PHP ushbu ma'lumotlarga kirish uchun maxsus funktsiyalarga ega.

  • mysqli_errno() - xato raqamini qaytaradi.
  • mysqli_error() - xatoni tavsiflovchi satrni qaytaradi.

Endi mysql_error() funksiyasini skriptimizga qo'shamiz:

$link = mysql_connect("localhost", "root", "", "tester"); if (!$link) die("Xato"); $query = "JADVAL YARATISH foydalanuvchilar (login VARCHAR(20), parol VARCHAR(20))"; if (mysqli_query($query)) echo "Jadval yaratildi."; else echo "Jadval yaratilmadi: ".mysqli_error(); mysqli_close($link);

Endi bizning skriptimiz brauzerga qatorni qaytaradi: "Jadval yaratilmagan: "foydalanuvchilar" jadvali allaqachon mavjud."

Jadvalni o'chirish

Shunday qilib, endi bizda kerak bo'lmagan stol bor. Ma'lumotlar bazasidan jadvallarni qanday tushirishni o'rganish vaqti keldi.

Jadvalni tushirish uchun DROP TABLE buyrug'idan so'ng jadval nomidan foydalaning.

$link = mysqli_connect("localhost", "root", "", "tester"); if (!$link) die("Xato"); $query = "JADVAL foydalanuvchilarini DOPLASH"; if (!mysqli_query($query)) echo "Jadvalni oʻchirishda xatolik yuz berdi: ".mysqli_error(); else echo "Jadval o'chirildi."; mysqli_close($link);

Natijalar

Shunday qilib, biz MySQL asoslarini o'zlashtirdik. Biz nima qilishni o'rgandik:

  • mysqli_connect() funksiyasidan foydalanib MySQL ma'lumotlar bazasiga ulaning.
  • mysqli_close() funksiyasidan foydalanib MySQL serveriga ulanishni yoping.
  • mysqli_query() funksiyasidan foydalanib MySQL serveriga SQL so'rovlarini yuboring.
  • Biz jadval yaratish uchun SQL so'rovini o'rgandik: jadval yaratish.
  • Biz jadvalni o'chirish uchun SQL so'rovini o'rgandik: drop table.
  • Biz mysqli_errno() va mysqli_error() funksiyalari yordamida xatolarni qanday hal qilishni o‘rgandik.

Keyin MySQL ma'lumotlar turlarini batafsil ko'rib chiqamiz.

Keyingi darsni o'qing:

4,5 ming

Matnda Butunrossiya veb-ustalar klubi tomonidan tuzilgan rasmiy hujjatlarning tarjimasidan foydalaniladi.

Ma'lumotlar bazalari bilan ishlashning barchasi serverga ulanish, ma'lumotlar bazasini tanlash, so'rov yuborish, so'rovni qayta ishlash va ma'lumotlar bazalaridan uzilish bilan bog'liq. Shunday ekan, keling, bu masalani nuqtama-bosqich ko‘rib chiqaylik. Butun matnning ravshanligi uchun mahalliy kompyuterda MySQL server o'rnatilganligini tasavvur qilaylik. U bilan ishlash uchun port standartdir. Ulanish uchun biz “root” foydalanuvchi nomi va “no_one” parolidan foydalanamiz.

Ulanish

Ma’lumotlar bazasiga ulanish “mysql_connect()” funksiyasi yordamida amalga oshiriladi. U uchta parametrdan o'tadi: server nomi (yoki server nomi: ulanish porti), foydalanuvchi nomi va parol. Agar xuddi shu argumentlar bilan "mysql_connect()" ga ikkinchi qo'ng'iroq qilinsa, yangi ulanish o'rnatilmaydi - buning o'rniga allaqachon ochiq ulanishning ulanish identifikatori qaytariladi (ya'ni, xuddi shu ma'lumotlar bazasi bilan ishlash davom etadi). Agar siz faqat bitta ma'lumotlar bazasi bilan ishlayotgan bo'lsangiz, ulanish identifikatorini yaratishingiz shart emas. Skript bajarilishini tugatgandan so'ng, serverga ulanish yopiladi, agar u avvalgi "mysql_close()" chaqiruvi bilan aniq yopilmagan bo'lsa.

Misol: $connect = mysql_connect('localhost', 'root', 'no_one'); Bunday holda, $connect o'zgaruvchisi ulanish identifikatoridir. Agar siz faqat bitta ma'lumotlar bazasi bilan ishlasangiz, kod identifikatorsiz yoziladi: mysql_connect('localhost', 'root', 'no_one');

Ma'lumotlar bazasini tanlash

"mysql_select_db" - MySQL ma'lumotlar bazasini tanlaydi. Bu shuni anglatadiki, serverda bitta emas, balki bir nechta ma'lumotlar bazasi bo'lishi mumkin. Ushbu buyruq bilan biz o'zimizga kerak bo'lganini tanlaymiz (bizning huquqlarimiz bor). Ushbu funktsiyaning parametri ma'lumotlar bazasi nomidir. Shu tarzda tanlangan ma'lumotlar bazasi faollashadi va ma'lum bir identifikator bilan bog'lanadi. Agar ulanish identifikatori aniqlanmagan bo'lsa, u holda ma'lumotlar bazasiga oxirgi ulanish ishlatiladi.

Misol: mysql_select_bd('test', $connect); - bu yerda test - ma'lumotlar bazasi nomi va $connect - ulanish identifikatori. Agar siz faqat bitta ma'lumotlar bazasi bilan ishlasangiz, kod identifikatorsiz yoziladi: mysql_select_bd('test');

So'rov yuborish

mysql_query() ma'lum bir havola identifikatori bilan bog'langan serverda hozirda faol bo'lgan ma'lumotlar bazasiga so'rov yuboradi. Agar ID ko'rsatilmagan bo'lsa, oxirgi ochiq ulanish ishlatiladi. Ushbu funktsiyaning parametri sql so'roviga ega bo'lgan satrdir.

Misol: $tmp=mysql_query("jadvaldan slect *", $connect); - bu buyruq $connect identifikatori ko'rsatgan faol ma'lumotlar bazasidan jadval jadvalining butun mazmunini qaytaradi. Agar siz faqat bitta ma'lumotlar bazasi bilan ishlayotgan bo'lsangiz, kod identifikatorsiz yoziladi: $tmp=mysql_query(“slect * from table”);

So‘rov qayta ishlanmoqda

So'rovlarni qayta ishlash uchun bir nechta funktsiyalar mavjud. So'rovlarni qayta ishlashning u yoki bu usulini tanlash dasturlash uslubi va topshirilgan vazifaga bog'liq. Shuni ham hisobga olish kerakki, turli xil variantlar serverni turli yo'llar bilan "yuklaydi" (ba'zilari juda ko'p, ba'zilari unchalik emas). Keling, ulardan bir nechtasini ko'rib chiqaylik.
mysql_fetch_object - php obyektini qayta ishlash natijasi sifatida qaytaradi. Bu usul ob'ektli dasturlash uchun odatlanganlar uchun yaxshi
Misol: while($result= mysql_fetch_object($tmp)) echo($result->name);

Kod misollari bilan PHP bilan MySQL-ga ulanishning 3 usuli


MySQL ma'lumotlar bazasidan foydalanishni boshlash uchun, avvalo, o'zingizning shaxsiy PHP dasturidan (skript) ushbu MySQL ma'lumotlar bazasiga qanday ulanishni tushunishingiz kerak.

Ushbu maqolada PHP-dan ma'lumotlar bazasiga qanday ulanishni tushuntiruvchi tegishli PHP kod misollari bilan birga quyidagi uchta usul tasvirlangan.

Quyidagi barcha misollar uchun biz mavjud MySQL ma'lumotlar bazasiga ulanamiz. Eslatma: Bu yerda tushuntirilgan hamma narsa MySQL kabi MariaDB bilan ham ishlaydi.

1. Mysqli kengaytmasi yordamida PHP ga ulanish
*mysqli MySQL yaxshilangan degan ma'noni anglatadi

Quyidagi mysqli.php faylini yarating

connect_error) ( die("Xato: ulanib bo'lmadi: " . $conn->connect_error); ) echo "Ma'lumotlar bazasiga ulangan.
"; $result = $conn->query("SELECT id FROM goroda"); echo "Qatorlar soni: $result->num_rows"; $result->close(); $conn->close(); ?> Yuqoridagi kodda:

  • mysqli - Bu funktsiya mysqli kengaytmasi yordamida yangi ulanishni boshlaydi. Funktsiya to'rtta argumentni oladi:
    1. localhost - MySQL ma'lumotlar bazasi ishlayotgan xostning nomi
    2. nom - ulanish uchun MySQL foydalanuvchi nomi
    3. pass - mysql foydalanuvchisi uchun parol
    4. db - ulanish uchun MySQL ma'lumotlar bazasi.
  • qvery MySQL so'rovi funktsiyasidir. Ushbu misolda biz shahar ma'lumotlar bazasidan id ustunini tanlaymiz.
  • Nihoyat, natijada num_rows o'zgaruvchisi yordamida tanlangan qatorlar sonini ko'rsatamiz. Bundan tashqari, yuqorida ko'rsatilgandek natijani ham, ulanish o'zgaruvchisini ham yopamiz.
Brauzeringizdan yuqoridagi mysqli.php ga qo'ng'iroq qilganingizda, PHP MySQL ma'lumotlar bazasiga ulanishi va ma'lumotlarni olishi mumkinligini ko'rsatadigan quyidagi natijani ko'rasiz.

Ma'lumotlar bazasiga ulangan. Qatorlar soni: 6 2. PHP MySQL PDO kengaytmasidan ulanish
*PDO qisqartmasi PHP Data Objects degan ma'noni anglatadi

PDO_MYSQL drayveri PHP skriptingizdan MySQL ma'lumotlar bazasiga ulanish uchun PHP tomonidan taqdim etilgan PDO interfeysini amalga oshiradi.

Quyidagi mysql-pdo.php faylini yarating:

setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Ma'lumotlar bazasiga ulangan.
"; $sql = "Tanlash id FROM goroda"; chop "Identifikator ro'yxati:
"; foreach ($conn->query($sql) $ qator sifatida) ( $row["id"] ni chop eting."
"; ) $conn = null; ) catch(PDOException $err) ( echo "Xato: Ulanib boʻlmadi: " . $err->getMessage(); ) ?> Yuqorida:

  • yangi PDO - quyidagi uchta argumentni oladigan yangi PDO ob'ektini yaratadi:
    1. mysql ulanish qatori: u “mysql:host=localhost;dbname=db” formatida bo'ladi. Yuqoridagi misolda JB localhost-da ishlamoqda va biz JB ma'lumotlar bazasiga ulanyapmiz.
    2. Ulanish uchun MySQL foydalanuvchi nomi
    3. Mysql foydalanuvchi paroli
  • $sql o'zgaruvchisi - bajarmoqchi bo'lgan sql so'rovini yarating. Ushbu misolda biz shaharlar jadvalidan id ustunini tanlaymiz.
  • so'rov ($sql). Bu erda biz hozirgina yaratgan SQL so'rovini bajarmoqdamiz.
  • har biriga. Bu erda biz yuqoridagi so'rov buyrug'i natijasini aylantiramiz va uni $row o'zgaruvchisida saqlaymiz va keyin uni echo yordamida chiqaramiz.
  • MySQL PDO da ulanishni yopish uchun $conn o'zgaruvchisini null ga o'rnating.
Yuqoridagi mysqli.php skriptini brauzeringizdan chaqirganingizda quyidagi qatorlarni ko'rasiz; ular PHP MySQL ma'lumotlar bazasiga ulanishi va ma'lumotlarni olishi mumkinligini anglatadi:

Ma'lumotlar bazasiga ulangan. Roʻyxat identifikatori: 1 2 3 4 5 6 3. Eskirgan mysql funksiyalari yordamida PHP dan ulanish

Ushbu usuldan faqat PHP ning eski versiyasidan foydalanayotgan bo'lsangiz va ba'zi sabablarga ko'ra yangi versiyaga o'tolmasangiz foydalaning. Ushbu usul o'rniga yuqorida ko'rsatilgan №2 usul va №3 usuldan foydalanish tavsiya etiladi. Men ushbu usulni foydalanish uchun tavsiya sifatida emas, balki faqat ma'lumot uchun kiritdim.

Ushbu kengaytma PHP 5.5 dan beri eskirgan. Ammo PHP 7.0 dan boshlab, u olib tashlanganidan beri bu ishlamaydi. PHP 5.5 dan boshlab, ushbu funksiyalardan foydalanganda, u E_DEPRECATED xatosini keltirib chiqaradi.

mysql.php faylini yarating:

"; $natija = mysql_query("Tanlash id FROM goroda"); $row = mysql_fetch_row($result); echo "id 1: ", $satr, "
\n"; mysql_close($conn); ?> Yuqorida:

  • Mysql_connect funktsiyasi uchta argumentni oladi:
    1. MySQL ma'lumotlar bazasi ishlayotgan xost nomi;
    2. Ulanish uchun MySQL foydalanuvchi nomi;
    3. mysql foydalanuvchisi uchun parol. Bu yerda u foydalanuvchi nomi va parolidan foydalangan holda mahalliy serverda ishlaydigan MySQL ma'lumotlar bazasiga ulanadi.
  • mysql_select_db funktsiyasi. Nomidan ko'rinib turibdiki, u siz ulanishni xohlagan ma'lumotlar bazasini tanlaydi. "Foydalanish" buyrug'iga teng. Ushbu misolda biz JB ma'lumotlar bazasiga ulanamiz.
  • mysql_query funktsiyasi - MySQL so'rovingizni belgilash uchun ishlatiladi. Ushbu misolda biz shahar ma'lumotlar bazasidan id ustunini tanlaymiz.
  • mysql_fetch_row. Biz yaratgan SQL so'rovidan qatorlarni chiqarish uchun ushbu funksiyadan foydalaning.
  • Nihoyat, yuqorida ko'rsatilganidek, mysql_close buyrug'i yordamida ulanishni yoping.
Brauzeringizdan yuqoridagi mysql-legacy.php ga qo'ng'iroq qilganingizda, PHP MySQL ma'lumotlar bazasiga ulanishi va ma'lumotlarni olish imkoniga ega ekanligini ko'rsatadigan quyidagi natijani ko'rasiz:

Ma'lumotlar bazasiga ulangan. id 1: 1 MySQL-ga shu tarzda ulanishingiz mumkin. Takror aytaman, birinchi ikkita usuldan foydalanish yaxshiroqdir; O