MySQL- ը օրինակներ է ներկայացնում PHP- ում: SQL - Հայցերը եւ դրանց վերամշակումը `օգտագործելով PHP

MySQL տվյալների բազայի հետ աշխատելը RNR- ով

Դասախոսություն Պատրաստի Պրոխորով ընդդեմ


1. PNP սցենարների միացում MySQL սեղաններով

Դիտարկենք առավել հաճախ օգտագործվող հատկությունները, որոնք թույլ են տալիս աշխատել MySQL տվյալների բազայի հետ RNR- ի կողմից:

Երբ RNR- ը եւ MySQL- ը փոխազդում են, ծրագիրը փոխազդում է DBMS- ի հետ `մի շարք գործառույթների միջոցով:

1.1 Միացում սերվերին: Գործառույթmysql_connect.

Տվյալների բազայի հետ աշխատելուց առաջ պետք է տեղադրել դրա հետ Ցանցային կապ, ինչպես նաեւ օգտագործողի թույլտվություն վարելը: Սա MySQL_Connect () գործառույթն է:

Ռեսուրս MySQL_Connect (]])

Այս հատկությունը սահմանում է ցանցային կապը MySQL տվյալների բազայում, որը գտնվում է $ Server Host- ում (Default է Localhost, I.E: Ընթացիկ համակարգիչ) եւ վերադարձնում է բաց կապի նույնացուցիչը: Հետագա բոլոր աշխատանքներն իրականացվում են այս նույնականացման միջոցով: Այս նույնականացման (նկարագրիչ) բոլոր մյուս գործառույթները, որպես փաստարկ, եզակիորեն կսահմանեն ընտրված տվյալների բազան: Գրանցվելիս օգտվողի անունը $ օգտվողի անունն է եւ $ գաղտնաբառի գաղտնաբառը (ըստ լռելյայն, օգտագործողի անունը, որից գործում է ընթացիկ գործընթացը `արմատներ եւ դատարկ գաղտնաբառ).

$ dbpasswd \u003d ""; // գաղտնաբառ

// ցուցադրել նախազգուշացում

echo ("

");

Variables $ Dbuser եւ DBSER եւ DBPasswd Store Server Name, Մականուն եւ գաղտնաբառ:

1.2 Tarve կապը սերվերին: Գործառույթmysql_close

MySQL սերվերի հետ կապը ավտոմատ կերպով կփակվի սցենարի վերջում, կամ MySQL_Close գործառույթը զանգահարելիս

bool mysql_close ()

Այս հատկությունը խախտում է կապը MySQL սերվերի հետ եւ իրականացվում է իրական գործողության հաջող կատարմամբ եւ այլ կերպ կեղծ: Գործառույթը ընդունում է տվյալների բազայի միացման նկարագրիչը որպես MySQL_Connect գործառույթով վերադարձված փաստարկ:

$ dblocation \u003d "localhost"; // սերվերի անուն

$ dbuser \u003d "արմատ"; //Օգտագործողի անունը

$ dbpasswd \u003d ""; // գաղտնաբառ

// Մուտքագրեք կապը տվյալների բազայի սերվերին

// ճնշել սխալի ելքային խորհրդանիշը, նախքան գործառույթը զանգելը

$ dbcnx \u003d @ mysql_connect ($ dbuser, $ dbuser, $ dbpasswd);

Եթե \u200b\u200b(! $ dbcnx) // Եթե նկարագրիչը 0 է, կապը տեղադրված չէ

// ցուցադրել նախազգուշացում

echo ("

Բ ներկայումս Տվյալների բազայի սերվերը մատչելի չէ, այնպես որ ճիշտ էջի ցուցադրումը հնարավոր չէ:");

Եթե \u200b\u200b(mysql_close ($ dbcnx)) // ընդմիջեք կապը

echo ("Միացումը տվյալների բազայում դադարեցված է");

Արձագանք («նա կարողացավ լրացնել կապը»);

1.3 Ստեղծել տվյալների բազա: Ստեղծեք տվյալների բազայի առանձնահատկություն

Հրաման - Տվյալների բազա ստեղծելը հասանելի է միայն սերվերի ադմինիստրատորի եւ հյուրընկալելու մեծ մասում, դա անհնար է կատարել.

Ստեղծեք տվյալների բազայի անվանումը հիմնված

Ստեղծում է նոր տվյալների բազա `անունով պարտադիր անունով:

Այս հատկության հետ աշխատելու օրինակ.

@MySQL_Query ("Ստեղծեք տվյալների շտեմարան $ DBNE");

Առաջարկվում է օգտագործել ամենուրեք ապոնստրոֆեսը («SQL - հրամանը») որպես SQL հրամաններ պարունակող տողերի սահմանափակումներ: Սա կարող է ապահովել, որ ոչ մի փոփոխական չլրացվի (այսինքն, այն չի փոխարինվի դրա արժեքով), եւ սցենարների անվտանգությունը կավելանա:

Ստեղծված տվյալների բազայի տվյալների շտեմարանի անձնակազմի հրամանը հասանելի է միայն գերտերության համար, եւ անհնար է կատարել պարզ օգտվող, հյուրընկալող օգտվողների մեծ մասում: Այն հասանելի է միայն սերվերի կառավարչին:

Փորձերի համար ստեղծեք Testbase տվյալների շտեմարան `հրամանի տողից SQL հարցում կատարելով: Դա անելու համար մուտք գործեք MySQL համակարգ եւ մուտքագրեք Հրամանի տող MySQL:

mySQL\u003e Ստեղծեք տվյալների բազայի թեստավորում.

Դրանից հետո դուք պետք է հավաքեք.

mySQL\u003e Օգտագործեք TestBase;

Ստեղծվում է տվյալների բազան.


1.4 Ընտրեք տվյալների շտեմարան: Գործառույթmysql_select_db.

Նախքան MySQL սերվերին առաջին հայցը ուղարկելը, դուք պետք է նշեք, թե որ տվյալների բազան ենք պատրաստվում աշխատել: Այդ նպատակով MySQL_SELECT_DB գործառույթը նախատեսված է.

bool mysql_select_db (string $ տվյալների շտեմարան [, ռեսուրս $ link_identifier])

Նա տեղեկացնում է PHP- ին, որ հետագա գործողություններով `$ link_identifier կապի միջոցով կօգտագործվի $ տվյալների շտեմարան:

Այս գործառույթի օգտագործումը համարժեք է SQL հարցման մեջ օգտագործելու հրամանը զանգահարելուն, I.E. MySQL_SELECT_DB գործառույթը ընտրում է տվյալների բազա, եւ SQL- ի հետագա բոլոր հարցումները վերաբերում են ընտրված տվյալների բազայում: Գործառույթը տվյալների շտեմարանի ընտրված տվյալների բազայի անունն է, որպես փաստարկ եւ ռեսուրսների միացման նկարագրիչ: Գործառույթը վերադառնում է իրական գործողությամբ եւ կեղծ `այլապես.

// Միացման ծածկագիրը տվյալների բազայում

եթե (! @mysql_select_db ($ dbname, $ dbcnx))

// ցուցադրել նախազգուշացում

echo ("

B Այժմ տվյալների բազան հասանելի չէ, ուստի ճիշտ էջի ցուցադրումը հնարավոր չէ:");

1.5 Վերամշակման սխալներ

Եթե \u200b\u200bսխալները տեղի են ունենում MySQL- ի հետ աշխատանքի ընթացքում (օրինակ, հուշումները հավասարակշռված չեն, կամ բավարար պարամետրեր չկան), ապա սխալի հաղորդագրությունը եւ դրա համարը կարելի է ձեռք բերել, ստորեւ նկարագրված երկու գործառույթների օգտագործմամբ:

Կարեւոր է ուշադիր եւ օգտագործել այս գործառույթները ժամանակին, քանի որ հակառակ դեպքում սցենարների կարգաբերումը կարող է ավելի բարդ դառնալ:

● Գործառույթ.

int mysql_errno ()

Վերադարձնում է գրանցված վերջին սխալի քանակը: Դուք չեք կարող նշել $ Link_IndFier կապի նույնացուցիչը, եթե սցենարի ընթացքում տեղադրվել է միայն մեկ կապ:

● Գործառույթ.

string mysql_error ()

Վերադարձնում է ոչ մի թիվ, բայց տող, որը պարունակում է սխալի հաղորդագրության տեքստը: Հարմար է դիմել կարգաբերման նպատակներով: Սովորաբար, MySQL_ERROR- ը օգտագործվում է դիզայնով կամ մեռնել (), օրինակ.

@Mysql_connect ("Localhost", "օգտվող", "գաղտնաբառ"))

Կամ մեռնել («Տվյալների շտեմարանին միանալու սխալ.« .Mysql_error ());

Օպերատորը @, ինչպես միշտ, օգտագործվում է ստանդարտ նախազգուշացումը ճնշելու համար, որը կարող է առաջանալ սխալի դեպքում:

Մեջ Վերջին տարբերակները MySQL գործառույթներում RNR նախազգուշացումը չի գրանցվում լռելյայն:

1.6 Միացում MySQL- ին: Ֆայլ (config.php.)

Սովորաբար կայքում միանգամից կան մի քանի գրություններ, որոնք ձեզ հարկավոր են մուտք դեպի նույն տվյալների բազա:

Առաջարկվում է հատկացնել MySQL- ին միանալու համար պատասխանատու ծածկագիրը Առանձին ֆայլ:եւ ապա միացեք ներառված գործառույթի միջոցով անհրաժեշտ սցենարներ.

Դա իմաստ ունի տեղադրել գործառույթներ `միացնելու, ընտրելու եւ ստեղծելու համար տվյալների բազա նույն ֆայլ (Config.php), որտեղ փոփոխականները հայտարարվում են $ DBUSER սերվերի անվան հետ, գաղտնաբառի $ dbpasswd եւ անուն $ DBNE DATATASE Անունը.

Config.php ցուցակագրում.

//config.php ֆայլային ծածկագիր, որը պարունակում է միացման պարամետրեր սերվերի եւ տվյալների բազայի ընտրությամբ

// ցուցադրում է սխալի հաղորդագրությունները զննարկիչին

$ dblocation \u003d "localhost"; // սերվերի անուն

$ dbname \u003d "INSERT BASE NAME" // տվյալների բազայի անվանումը. Ստեղծված կամ արդեն գոյություն ունեցող

$ dbuser \u003d "արմատ"; // տվյալների բազայի օգտվողի անուն

$ dbpasswd \u003d ""; // գաղտնաբառ

// Մուտքագրեք կապը տվյալների բազայի սերվերին

// ճնշել սխալի ելքային խորհրդանիշը, նախքան գործառույթը զանգելը

[Email պաշտպանված]_Connect ($ dbuser, $ dbuser, $ dbpasswd);

Եթե \u200b\u200b(! $ dbcnx) // Եթե նկարագրիչը 0 է, տվյալների բազայի սերվերի հետ կապը տեղադրված չէ

// ցուցադրել նախազգուշացում

echo ("

Ներկայումս տվյալների բազայի սերվերը մատչելի չէ, ուստի էջի ճիշտ ցուցադրումը անհնար է:

");

// Ստեղծեք $ DBNE DATAMATE - Դա կարող է միայն գերադասող լինել

// Եթե տվյալների բազան արդեն գոյություն ունի, կլինի ոչ կրիտիկական սխալ

@MySQL_Query («Ստեղծեք տվյալների բազա, եթե չկա $ DBNE»);

// Միացման ծածկագիրը տվյալների բազայում. Մենք իրականացնում ենք նորաստեղծ տվյալների բազայի կամ գոյություն ունեցող տվյալների բազայի միանշանակ ընտրություն

// ճնշել սխալի ելքային խորհրդանիշը, նախքան գործառույթը զանգելը

Եթե \u200b\u200b( [Email պաշտպանված]_select_db ($ dbname, $ dbcnx)) // Եթե նկարագրիչը 0 է, տվյալների բազայի միացումը չի տեղադրվում

// ցուցադրել նախազգուշացում

echo ("

Ներկայումս տվյալների բազան հասանելի չէ, ուստի էջի ճիշտ ցուցադրումը անհնար է:

");

// Փոքր Օժանդակ գործառույթորը ցուցադրում է հաղորդագրությունը

// տվյալների բազայի դեպքում սխալի մասին սխալի սխալի մասին

Գործառույթի պուտիստ ($ հաղորդագրություն)

eCHO ("");


2. Կատարեք տվյալների շտեմարանի հարցումներ

2.1 Սեղանի ստեղծում: Գործառույթ Ստեղծեք աղյուսակ.

Ստեղծեք սեղանի սեղանի անվանումը (Անունը Տեսակը, NamePole Type,)

Տվյալների բազայում այս հրամանը ստեղծում է նոր սեղան սյուններով (դաշտերով), որը սահմանված է իր անուններով (անուններով) եւ նշված տեսակներով: Աղյուսակը ստեղծելուց հետո հնարավոր կլինի ավելացնել գրառումներ, որոնք բաղկացած են այս հրամանում նշված դաշտերից:

Listing test_11.php. Ծրագիր, որը նոր սեղան է ստեղծում տվյալների բազայում.

Ներառեք «Config.php»; // Միացեք սերվերի եւ տվյալների բազայի ընտրությանը

mySQL_Query ("Ստեղծեք աղյուսակ, եթե չկա մարդկանց

iD INT Auto_increment առաջնային բանալին,

Կամ մեռնել ("MySQL սխալ." .Mysql_error ());


Այս սցենարը ստեղծում է նոր մարդկանց սեղան երկու դաշտով: Առաջին դաշտը ունի Int տիպ (ամբողջ թվով) եւ անվանման ID: Երկրորդ տիպի տեքստ (տեքստային լարային) եւ անվանման անվանումը:

Եթե \u200b\u200bսեղանն առկա է, կաշխատի կամ մեռնի () դիզայնը:

Ընտրովի արտահայտություն, եթե չի գերազանցում, եթե դա նշված է, ասում է MySQL սերվերը, որ այն չպետք է սխալի հաղորդագրություն ստեղծի, եթե նշված անունով աղյուսակն արդեն կա տվյալների բազայում:

Հիշեք այն ժամանակները, երբ ես չգիտեի ինչ mysql Եւ հաճախ նման հոդվածներ էր փնտրում ինտերնետում: Բայց, չգիտես ինչու, նրանք հազվադեպ էին գտել: Այժմ ես որոշեցի այդպիսի օգտակար հոդվածներ դնել mysql մի քանազոր pHP. Դա դարձավ եւս մեկ: Ես կփորձեմ ամեն ինչ գրել մատչելի լեզվով:

Սկսել MySQL- ի եւ PHP- ի հետ

Այսպիսով, սկսելու համար մենք պետք է տեղական սերվեր, որպեսզի գործարկվի pHP գրություններ Եվ միացեք տվյալների բազային (այնուհետեւ ես կանչեմ տվյալների բազան, ինչը նշանակում է «տվյալների շտեմարան»): Եթե \u200b\u200bդուք դեռ չունեք տեղական սերվեր, նախ պետք է կարդաք տեղադրումը եւ կազմաձեւը localhost., իսկ հետո սկսեք ուսումնասիրել տվյալների բազան mysql եւ դրա DBM- ները (տվյալների բազայի կառավարման միջոցներ):

Եթե \u200b\u200bարդեն ունեք այս սերվերը, մենք դա անում ենք: Սկսելու համար ես ուզում եմ ձեզ ներկայացնել DBMS- ին Phpmyadmin.Այն թույլ է տալիս կառավարել (ավելացնել, ջնջել, ջնջել) գրառումները տվյալների բազայում:

Սա հիմնական էջն է DBMS PHPMYADMIN., Այստեղից կարող եք ստեղծել ձեր տվյալների բազան եւ պահել դրա մեջ անհրաժեշտ գրառումները: Այն շատ հարմար է կայքեր ստեղծելիս, քանի որ տեղեկատվությունը կառուցված է, եւ դուք կարող եք շատ արագ մուտք գործել տվյալների բազայից:

Ինչպես արդեն նշվեց, հոդվածի առաջին մասը, ծանոթությունը mysql մի քանազոր phpmyadmin., Կարծում եմ, հիմա հասկանում եք, թե որն է MySQL- ն, եւ մենք կարող ենք սկսել ուսումնասիրել phpmyadmin ֆունկցիոնալությունը: Աշխատանքը սկսելու համար հարկավոր է ստեղծել տվյալների բազա (տվյալների շտեմարան): Նա կունենա իր անունը, որի համար մենք նրան ավելի ուշ կփնտրենք:

Ահա տվյալների բազայի կառուցվածքի ընդհանուր կառուցվածքը.

Տվյալների շտեմարան ստեղծելու համար մուտքագրեք մուտքագրման դաշտում «Ստեղծեք նոր տվյալների բազա» տող (PhpMyAdmin- ի հիմնական էջում) ցանկացած անուն (ոչ թե կիրիլ): Ես կստեղծեմ «Բազա» անունով տվյալների բազա: Այժմ, BD կառուցվածքի դիագրամին հետեւելով, մենք պետք է սեղան պատրաստենք: Դա անելու համար, հիմքը ստեղծելուց հետո դուք կունենաք այդպիսի պատուհան.

Այստեղ ես ստեղծում եմ սեղան, օգտագործելով օգտագործողների անուն եւ դրանում 3 դաշտ: Այնուհետեւ PhpMyAdmin- ը մեզ կխնդրի կառուցել յուրաքանչյուր ոլորտի կառուցվածքը.

Այստեղ «դաշտային» սյունակում պետք է նշեք անունը, «տիպի» մեջ նշեք այն տվյալների տեսակը, որը պահվում է այնտեղ (Int- ը `Varchar - Line կամ փոքր (!) Տեքստը): Բացի այդ, դուք նշում եք «ID» պարամետր «Auto_increaMent» պարամետր անունով դաշտը, ինչը նշանակում է, որ ամեն անգամ կավելանա ցանկացած տվյալներ, եւ սահմանեք «առաջնային բանալին» պարամետրը (կուլ տալ), դա նշանակում է, որ մենք կարող ենք Միանշանակ նույնականացրեք դաշտը:

«Միանշանակորեն նույնականացնել դաշտը» նշանակում է, նույնիսկ եթե անունը եւ ազգանունը նույնն են լինելու, նույնականացման սյունը կունենա տարբեր արժեքներ (քանի որ այն ամեն անգամ ինքնաբերաբար մեծանում է յուրաքանչյուր միավորի համար):

Այժմ կտտացրեք «Պահել»: Այսպիսով, մենք ստեղծեցինք օգտվողների սեղան, որում մենք կարող ենք պահպանել անունը եւ ազգանունը (ID- ն պետք չէ տեղադրել, MySQL- ն ավելի շատ բան կանի մեզ համար), տվյալների բազայի օգտագործողների մեջ: Մենք ստեղծեցինք աղյուսակը գրառումներ պահելու համար: Եվ ինչպես տեղադրել դրանք այնտեղ: Կարդացեք ստորեւ

Ընտրեք «մածուկ» ընտրացանկում եւ ցանկալի արժեքները գրեք անհրաժեշտ դաշտերում: Այժմ ինչպես ջնջել կամ փոխել արժեքները MySQL տվյալների բազայում phpMyAdmin տվյալների շտեմարանից ... ջնջել, պարզապես գնացեք ակնարկ ընտրացանկ եւ սեղմեք Red Crosshead- ը ձայնագրման դիմաց.

Եվ խմբագրելու համար կտտացրեք մատիտին եւ փոխարինեք անհրաժեշտ դաշտերը: Դե, այս դասի վրա ավարտված է: Այժմ կարող եք կառավարել MySQL տվյալների բազան `օգտագործելով phpmyadmin: Հաջորդ դասում ես ձեզ կսովորեցնեմ պահպանել, ստանալ, ջնջել եւ թարմացնել տվյալների բազայում տվյալները Օգտագործելով PHP:, Դա շատ հարմար է եւ գործնական:

MySQL տվյալների բազայի հետ աշխատելը PHP- ից

Այսպիսով, նախ պետք է սովորել միանալ արդեն հայտնի տվյալների բազայում: Դա անելու համար օգտագործվում է այս ծածկագիրը.

Վերոնշյալ կոդում ես միացա LocationHost սերվերին, օգտագործելով մուտք Արմատ: որը գաղտնաբառ չի պահանջում (հետեւաբար ես դա չեմ նշում): Տվյալների բազայում միանալուց հետո մենք կարող ենք իրականացնել բոլոր այն գործողությունները, որոնք կատարվել են phpmyadmin- ում: Այսինքն, տեղադրեք, ջնջեք, փոխեք եւ ձեռք բերել տարբեր տեղեկություններ: Այժմ, կետերի վրա.

Տեղադրեք գրառումները SQL տվյալների բազայում PHP- ում

$ Query \u003d "Տեղադրեք« Աղյուսակ »(« Նշեք դաշտը, «Նշեք դաշտը» արժեքները («ցանկացած արժեք») »; $ արդյունք \u003d mysql_query ($ հարցում); Եթե \u200b\u200b($ արդյունք \u003d\u003d ճշմարիտ) (ECHO "հաջող:";) այլ (echo "սխալ.
".Mysql_error ();)

Այսինքն, ներդիրն արվում է ներդիրի գործառույթով: Եթե \u200b\u200bամեն ինչ հաջողությամբ անցավ, MySQL- ը կվերադարձնի իրական, կամ այլ կերպ `կեղծ:

Դաշտերը կարող են հստակեցվել գոնե որքանով, գլխավորն այն է, որ դրանք բոլորը գոյություն ունեին տվյալների բազայում: Այսինքն, կա մի սեղան, որում կան «Անուն», «ազգանուն» եւ «քաղաք» դաշտեր: Այն մտցնելու համար մենք կօգտագործենք նման ծածկագիր.

$ Query \u003d «Ներդրեք« Օգտագործողների »(« Անունը »,« ազգանունը »,« Ռուսլան »,« Huzin »,« Կոկշեթա »)»; $ արդյունք \u003d mysql_query ($ հարցում); Եթե \u200b\u200b($ արդյունք \u003d\u003d ճշմարիտ) (ECHO "հաջող:";) այլ (echo "սխալ.
".Mysql_error ();)

SQL տվյալների շտեմարանից մուտքերը հեռացնելով PHP

Delete նջելն իրականացվում է ջնջման գործառույթով: Դրա համար այս ծածկագրի նման մի բան կլինի.

$ Query \u003d "Delete նջելուց` օգտվողներից, որտեղ `« Ruslan »- ը»; $ արդյունք \u003d mysql_query ($ հարցում); Եթե \u200b\u200b($ արդյունք \u003d\u003d ճշմարիտ) (ECHO "հաջող:";) այլ (echo "սխալ.
".Mysql_error ();)

Այսինքն, մենք ջնջում ենք բոլոր տողերը USSS աղյուսակից (դե կամ մեկ), որտեղ անվանման սյունակը հավասար է Ruslan արժեքին:

MySQL տվյալների բազայում արժեքները փոխելը PHP- ում

Մենք կարող ենք նաեւ փոփոխություններ կատարել աղյուսակում արդեն գոյություն ունեցող գրառումների մեջ: Օրինակ, մենք պետք է անընդմեջ փոխարինենք անվանման սյունակի արժեքը, որտեղ ազգանունը սյունը Huzin է: Դա անելու համար իրականացրեք նման ծածկագիր.

$ Query \u003d "Թարմացում` օգտվողների հավաքածու `անունը` \u003d "MyName" Որտեղ է `ազգանունը` "Huzin"; $ արդյունք \u003d mysql_query ($ հարցում); Եթե \u200b\u200b($ արդյունք \u003d\u003d ճշմարիտ) (ECHO "հաջող:";) այլ (echo "սխալ.
".Mysql_error ();)

Ստանալով արժեքներ տվյալների բազայից

Հիմա ամենահետաքրքիրն է: Մի անգամ ինչ-որ բան արձանեցինք, ապա պետք է վերադառնաք: Օրինակ, մենք պետք է օգտագործողների աղյուսակից ստացանք բոլոր տողերը, որտեղ անվանման սյունակը հավասար է Ruslan- ին: Դա անելու համար մեզ պետք է մի փոքր այլ կոդ, քան առաջին օրինակներում: Ահա իրականում նա.

$ Query \u003d "Ընտրեք *, որտեղից` անունը `\u003d" Ruslan ""; $ արդյունք \u003d mysql_query ($ հարցում); Եթե \u200b\u200b($ արդյունք \u003d\u003d ճշմարիտ) (ECHO "հաջող:";) այլ (echo "սխալ.
".MySQL_Error ();) $ data \u003d mysql_fetch_array ($ արդյունք); / * Այժմ սեղանից ստացված տվյալները պահվում են փոփոխական * /

Այստեղ մեզ անհրաժեշտ էր մեկ այլ առանձնահատկություն, ընտրված տվյալները PHP- ի փոփոխականի (զանգվածի) ձայնագրելու համար: Ընտրված տողի հետ կապվելու համար մենք այսպես ենք գրում.

$ Տվյալների [«COLUMN NAME»]

Այսինքն, ընտրված տողից ազգանունը ստանալու համար (որտեղ անունն էր Ռուսլան), մենք պետք է գրենք եզրակացության.

echo $ data [«ազգանուն»];

Եվ սեղանից նմուշառելիս ես գրել եմ Ընտրել *, այս աստղանիշը նշանակում է, որ դուք պետք է ընտրեք բոլոր սյունակները տողից: Եթե \u200b\u200bմեզ անհրաժեշտ է, օրինակ, ընտրեք միայն ազգանունը, գրեք ընտրեք «Ազգանունը»: Եվ սեղանից մի քանի տողերից միանգամից նմուշառման համար ցիկլը կպահանջվի նաեւ դրանց արդյունքի համար: Սա, եթե օրինակ, Ruslan սյունով տողերը կլինեն մի քանիսը: Ահա ծածկագիրը.

$ Query \u003d "Ընտրեք *, որտեղից` անունը `\u003d" Ruslan ""; $ արդյունք \u003d mysql_query ($ հարցում); Մինչդեռ ($ data \u003d mysql_fetch_array ($ արդյունք) (ECHO $ \u200b\u200bտվյալներ [«Անուն»] »:
«$ Տվյալներ [« ազգանուն »]»:


"; }

Այժմ կցուցադրվեն բոլոր տողերը, որոնցից անվանման սյունակը հավասար է Ruslan- ի արժեքին:

Այստեղ դուք հանդիպեցիք հիմնական հսկողության գործառույթները mySQL տվյալների շտեմարան ուղղակիորեն pHP սցենար.

Այս հոդվածում մենք կսովորենք Ուղարկեք տվյալների բազայում PHP- ի միջոցով, Այս հոդվածը շատ կարեւոր է, եւ անհրաժեշտ է, որ դուք հասկանաք: Այնուամենայնիվ, ես ձեզ հանգստացնելու եմ. Նյութը շատ պարզ է, ուստի դժվարություն չպետք է լինի:

Հոդվածի թեմային անցնելուց առաջ ես նախազգուշացնում եմ, որ մանրամասն չեմ ապամոնտաժելու sQL լեզու, Բոլոր անհրաժեշտ տեղեկությունները, որոնք բաժանվել են նվիրված կատեգորիայում, եւ ահա մենք միայն ենք Մենք աշխատում ենք MySQL- ի հետ PHP- ի միջոցով.

Հիմա գնա Կ. Տվյալների բազայի դիմում ուղարկելը PHP- ին:


}
$ MySQLI-\u003e Հարցումը («Տեղադրեք mytable (անվան, էլփոստի) արժեքներ (« MyName »- ը" [Email պաշտպանված]")");
$ mysqli-\u003e փակ ();
?>

Այս օրինակում մենք միացանք տվյալների բազայի հետ, ստուգեցինք կապի հաջողությունը, ուղարկեց հայց, օգտագործելով մեթոդը Հարցում ()Եվ հետո փակեց կապը: Ինչպես տեսնում եք, ամեն ինչ շատ պարզ է: Ուղարկել ցանկացած SQL հարցումներ Ուղղակի ընդամենը մեկ մեթոդ - Հարցում (), Հետեւաբար, այս դեպքում ամեն ինչ խելագարորեն պարզ է:

Այժմ փոքր-ինչ բարդացնում է առաջադրանքը: Եկեք նայենք վերադարձի հարցումներին result_set. - Արդյունք: Մատուցված ամենատարածված խնդրանքը result_set. - Սա սեղանից տվյալների նմուշ է: Հաջորդ օրինակում մենք կկատարենք տվյալների նմուշ, այնուհետեւ ամփոփենք արդյունքը.

$ mysqli \u003d @new mysqli ("localhost", "ադմինիստրատոր", "Pass", "MyBase");
Եթե \u200b\u200b(mysqli_connect_erno ()) (
Echo "կապը հնարավոր չէ." .Mysqli_connect_error ();
}
$ rets_set \u003d $ MySQLI-\u003e
Մինչդեռ ($ Row \u003d $ RENTS_SET-\u003e FETCH_ASSOC ()) (
Print_r ($ Row);
Echo »
";
}
$ rets_set-\u003e փակ ();
$ mysqli-\u003e փակ ();
?>

Սկսելու համար ես մի փոքր կբացատրեմ, որն է result_set.. Result_set. - Սա արդյունք է, արդյունքով: Այս աղյուսակը ունի մի շարք գրառումներ (սեղանի գծեր): Եվ բոլոր գրառումների արդյունահանման համար հարկավոր է տեղափոխել սեղանի յուրաքանչյուր տող եւ հետ վերցնել այն: Եվ հիմա ես օրինակ եմ բացատրում. Հայցը ուղարկելուց հետո մենք ձեւավորվում ենք result_set., Այնուհետեւ մենք փոփոխական ենք նշանակում ցիկլում Տող Հաջորդ տողի արժեքը, այսինքն, միակողմանի զանգված, որը վերադարձնում է մեթոդը fetch_assoc (), Երբ բոլոր տողերը սպառվում են, մեթոդը fetch_assoc () վերադարձ կեղծեւ կազատվեն ցիկլից: Ներքին ցիկլեր Մինչդեռ Մենք պարզապես բխում ենք զանգվածի գործառույթով: print_r ()Չնայած, իհարկե, հնարավոր կլինի հետ վերցնել օգտագործելով foreach:Բայց հիմա դա անհրաժեշտ չէ:

Եկեք հակիրճ ամփոփենք, թե ինչպես աշխատել result_set.:

  1. Ստացում result_set.Համապատասխան հարցումը տվյալների շտեմարան ուղարկելով:
  2. Յուրաքանչյուր կրկնության մեջ ցիկլում `հետեւյալ տողը (ձայնագրումը) նշանակելու համար result_set. օգտագործելով մեթոդ fetch_assoc () Որոշ փոփոխական Տող, Այնուհետեւ կարող եք աշխատել այս փոփոխականի հետ, ինչպես միակողմանի ասոցիացիայի զանգվածով, որում ստեղները սեղանի դաշտերի անուններն են, եւ արժեքները համապատասխանում են ընթացիկ մուտքին:
  3. Համոզվեք, որ փակեք result_set. Մեթոդ Փակել ()Ռեսուրսները լուսաբանելու համար:

Ինչպես նկատել եք մեթոդը fetch_assoc () Միշտ վերադարձնում է հաջորդ ռեկորդը: Այսինքն, առաջին 1-ը, ապա 2-րդը, ապա 3-րդը եւ այլն: Եթե \u200b\u200bդուք ունեք լավ ծրագրավորման փորձ, անմիջապես կփորձեք, որ դա պայմանավորված է ներքին ցուցիչով, որը, իհարկե, կարող եք շարժվել: Որտեղ է այն օգտագործվում: Օրինակ, այն կարող է օգտագործվել, երբ պետք է աշխատել result_set. ոչ 1 , բայց 2 Ավելի քան մեկ անգամ. Նույն հարցը կրկին ձեւավորելու համար պարզապես կարող եք ցուցիչը շարժել սկզբին: Եվ հետո կարող եք կրկին ներգրավվել result_set. Օգտագործելով Fetch_ASSOC () մեթոդը:

Ցուցիչի դիրքը փոխելու համար կա մի մեթոդ data_seek ()որը տեւում է ամբողջ թիվը 0 նախքան " Գրառումների քանակը - 1«Համապատասխանաբար, ցուցիչը բարձրանում է համապատասխան ձայնագրման պարամետրը.

$ mysqli \u003d @new mysqli ("localhost", "ադմինիստրատոր", "Pass", "MyBase");
Եթե \u200b\u200b(mysqli_connect_erno ()) (
Echo "կապը հնարավոր չէ." .Mysqli_connect_error ();
}
$ rets_set \u003d $ MySQLI-\u003e հարցումը («Ընտրեք * mytable»);
$ rets_set-\u003e num_raws;
Մինչդեռ ($ Row \u003d $ RENTS_SET-\u003e FETCH_ASSOC ()) (
Print_r ($ Row);
Echo »
";
}
$ Rets_set-\u003e data_seek (0);
Մինչդեռ ($ Row \u003d $ RENTS_SET-\u003e FETCH_ASSOC ()) (
Print_r ($ Row);
Echo »
";
}
$ rets_set-\u003e փակ ();
$ mysqli-\u003e փակ ();
?>

Այս օրինակում մենք բերեցինք rENTS_SET- ում գրառումների քանակը Օգտագործելով գույքը num_raws, Եւ ծանոթացավ նաեւ մեթոդին data_seek (), Այսինքն, մենք անցանք ամբողջ արդյունքի միջով, այնուհետեւ վերադարձրել ենք ցուցիչը 0 Յ. Արձանագրել եւ կրկին անցել է արդյունքի:

Այս հոդվածում մենք կրկնում ենք կապը տվյալների բազայում եւ կապը փակելը: Եւ նաեւ սովորել Ինչպես ուղարկել հարցումներ տվյալների բազայում PHP- ի միջոցով, Սովորել, Ինչպես ստանալ արդյունքներ_սեւորում: Եվ ինչպես աշխատել նրա հետ: Դա այն է, ինչ դուք պետք է իմանաք հաջող Աշխատեք MySQL- ի հետ PHP- ում.

Ձեր MySQL տվյալների բազայից առավելագույն վերադարձը ստանալու համար անհրաժեշտ է հասկանալ, թե ինչպես կարելի է միացնել օգտվողի ծրագրից PHP- ին MySQL տվյալների բազայում:

Այս ձեռնարկը նկարագրում է հետեւյալ երեք մեթոդները PHP- ի օրինակելի ծրագրի համապատասխան ծրագրի հետ միասին, որը կբացատրվի, թե ինչպես կապվել PHP- ի տվյալների բազայում:

  • Միացում MySQLI ընդլայնման միջոցով (առաջարկվում է)
  • Կապ PDO- ի հետ (առաջարկվում է)
  • Միացում, օգտագործելով ավանդական գործառույթները, որոնք գերազանցում են MySQL_ (SETPOINT)

Դա անելու համար տեղադրեք PHP-MySQL փաթեթը:

RedHat- ի բաշխման հիման վրա, ներառյալ, օգտագործեք Yum, PHP-MySQL տեղադրելու համար, ինչպես ցույց է տրված ստորեւ:

Yum տեղադրել php-mysql

Կախված ձեր համակարգից, մենք կտեղադրենք կամ կթարմացնենք հետեւյալ կախվածությունը.

  • php-cli.
  • php- ընդհանուր
  • php-pdo
  • php-pgsql

Ամեն ինչ տեղադրվելուց հետո phpinfo էջը կցուցադրի MySQL մոդուլը, ինչպես ցույց է տրված ստորեւ.

Ստորեւ բերված բոլոր օրինակների համար մենք միացվենք MySQL տվյալների բազային, որն արդեն գոյություն ունի: Եթե \u200b\u200bդուք նոր եք MySQL- ում, սա լավ տեղ է սկսելու համար.

Նշում. Այն ամենը, ինչ նկարագրված է այստեղ, կաշխատի նաեւ Մարիադբի հետ, քանի որ այն աշխատում է MySQL- ի վրա:

1. Միացում PHP- ին `օգտագործելով MySQLI ընդլայնումը

MySQLI նշանակում է, որ MySQL- ը բարելավվել է:

Խնդրում ենք նկատի ունենալ, որ ամենաշատ բաշխումները (օրինակ, Centos), PHP-MySQLI- ն արդեն մաս է կազմում PHP-MySQL փաթեթի: Այսպիսով, դուք պետք չէ որոնել եւ տեղադրել php-mysqli փաթեթը: Այն ամենը, ինչ դուք պետք է անեք, տեղադրեք PHP-MySQL փաթեթը `ձեր համակարգում աշխատելու MySQLI ընդլայնումը ստանալու համար:

Ստեղծեք հետեւյալ MySQLI.php ֆայլը փաստաթղթային գրաֆիկի մեջ.

connect_error) (Die ("Սխալ. Անհնար է միացնել." $ Conn-\u003e Connect_error);) echo "միանալ տվյալների բազայում.
"; $ արդյունք \u003d $ conn-\u003e հարցում (« Ընտրեք անունը աշխատողից »); echo" Թողերի քանակը. $ Արդյունք `\u003e մոտ ();?\u003e;

Վերոնշյալում.

  • MySQLI - Այս հատկությունը նախաձեռնի նոր կապ, օգտագործելով MySQLI ընդլայնումը: Այս հատկությունը կվերցնի չորս փաստարկ.
    1. Հյուրընկալող անուն, որտեղ MySQL տվյալների բազան է աշխատում
    2. Մականուն MySQL կապի համար
    3. MySQL օգտվողի գաղտնաբառ
    4. MySQL տվյալների բազա կապի համար:
  • Query Function - Օգտագործեք այն `ձեր MySQL- ի հարցումը նշելու համար: Այս օրինակում մենք ընտրում ենք անվանման սյունը աշխատողի տվյալների բազայից:
  • Վերջապես, մենք ցուցադրում ենք ընտրված տողերի քանակը `օգտագործելով Num_Rows փոփոխականը: Մենք նաեւ փակում ենք կապը, ինչպես ցույց է տրված վերեւում:

Միացեք տվյալների բազային: Տողերի քանակը. 4

Նշում. Եթե դուք փորձում եք միանալ հեռավոր MySQL տվյալների բազային, ապա կարող եք դա անել, հյուրընկալողի հետ կապի սխալից խուսափելու համար. Ինչպես թույլ տալ MySQL հաճախորդին միանալ MySQL հեռավոր սերվերին:

2. Կապը `օգտագործելով PHP- ը MySQL- ի հետ PDO ընդարձակմամբ

PDO- ն նշանակում է PHP տվյալների օբյեկտներ:

PDO_MYSQL- ը իրականացնում է PDO ինտերֆեյսը, որը տրամադրվում է ծրագրի միջոցով `ծրագիրը MySQL տվյալների բազայում միացնելու համար:

Linux- ի բաշխումների մեծ մասում (օրինակ, Centos եւ Redhat), PHP-PDDO փաթեթն արդեն ներառված է PHP-MySQL փաթեթում: Այսպիսով, դուք պետք չէ որոնել եւ տեղադրել PHP-PDO փաթեթը: Այն ամենը, ինչ դուք պետք է անեք, տեղադրեք PHP-MySQL փաթեթ, ձեր համակարգում PDO_MYSQL PHP- ի երկարաձգումը ստանալու համար:

Ստեղծեք հետեւյալ MySQL-PDO.php ֆայլը ձեր Apache Documentroot- ում.

setattribute (pdo :: att_errmode, pdo :: errmode_exception); Echo »Միացեք տվյալների բազային:
"; $ SQL \u003d" Ընտրեք անունը աշխատողից "; PRINT" Աշխատողի անուն:
"; Foreach ($ Conn-\u003e հարցումը ($ sql) որպես $ Row) (Տպել $ Row [« Անուն »]:
";) $ Conn \u003d null;) Catch (echo" սխալ. Անհնար է միացնել. ". $ Err-\u003e getMessage ()? \u003e\u003e

Վերոնշյալում.

  • Նոր PDO- ն կստեղծի PDO- ի նոր օբյեկտ, որը կվերցնի հետեւյալ երեք փաստարկները.
    1. MySQL կապի լար. Կլինի «MySQL. HOST \u003d $ hostname; DBNE \u003d $ DBNAME» ձեւաչափով: Վերոնշյալ օրինակում տվյալների բազան գործում է տեղական հյուրընկալողի վրա, եւ մենք միանում ենք Andreyex տվյալների շտեմարանին:
    2. Մականուն MySQL- ին միանալու համար:
    3. Գաղտնաբառ MySQL օգտագործողի համար:
  • $ SQL փոփոխական - ստեղծելով SQL հարցում, որը ցանկանում եք կատարել: Այս օրինակում մենք ընտրում ենք անվանման սյունը աշխատողի աղյուսակից:
  • Հարցումը ($ SQL) - Այստեղ մենք կատարում ենք SQL հարցում, որը մենք նոր ենք ստեղծել:
  • foreach - Այստեղ մենք վազում ենք վերը նշված հրահանգների միջով եւ փրկում ենք դրանք փոփոխական տողում $, եւ այնուհետեւ մենք ցույց ենք տալիս, օգտագործելով տպագիր հրամանը:
  • MySQL PDO- ում կապը փակելու համար պարզապես վերափոխեք $ Con Con փոփոխականի արժեքը:

Ձեր զննարկիչից զանգահարելիս կտեսնեք հետեւյալ եզրակացությունը, որը ցույց է տալիս, որ PHP- ն կարողացավ միանալ MySQL տվյալների բազային եւ կատարել տվյալների նմուշ:

Միացեք տվյալների բազային: Գրասենյակի անվանումը, Siteslan Maria Oleg

3. PHP- ին միացում `օգտագործելով MySQL_ (SETPOINT) գործառույթները

Օգտագործեք այս մեթոդը միայն այն դեպքում, եթե դուք օգտագործում եք ավելի հին PHP տարբերակը եւ չի կարող ինչ-ինչ պատճառներով այն թարմացնել նոր տարբերակին:

Սա հնացած PHP 5.5 երկարացում է: Բայց սկսած PHP 7.0 տարբերակից, այն չի գործի, քանի որ այն հանվել է:

Այս գործառույթներն օգտագործելիս սկսվում է PHP 5.5 տարբերակից, նրանք կստեղծեն E_DePrecated սխալ:

Ստեղծեք հետեւյալ MySQL-Legacy.php ֆայլը Apache Documentroot- ի ներքո.

"; $ արդյունք \u003d mysql_query); $ Row \u003d mysql_fetch_row ($ արդյունք); echo" աշխատող 1: ", $ Row"
\\ n "; mysql_close ($ միացում);?\u003e

Վերոնշյալում.

  • MySQL_ConNect Feature տեւում է երեք փաստարկ. 1) հյուրընկալող անուն, որտեղ MySQL տվյալների բազա աշխատանքներ, 2) Մականուն MySQL- ին միանալու համար: Այստեղ դուք միանում եք MySQL տվյալների բազային, որն աշխատում է տեղական սերվերի վրա `օգտագործելով արմատային օգտվողի անունը եւ դրա գաղտնաբառը:
  • MySQL_SELECT_DB գործառույթը `անունից հետեւյալը, կընտրի այն տվյալների բազան, որին ցանկանում եք կապել: Սա համարժեք է «օգտագործման» հրամանին: Այս օրինակում մենք միանում ենք Andreyex տվյալների շտեմարանին:
  • Ֆունկցիա MySQL_Query - Օգտագործեք այն `ձեր MySQL հարցումը նշելու համար: Այս օրինակում մենք ընտրում ենք անվանման սյունը աշխատողի տվյալների բազայից:
  • mysql_fetch_row - Օգտագործեք այս հնարավորությունը `SQL հարցումից տողեր հանելու համար, որոնք մենք պարզապես ստեղծել ենք:
  • Վերջապես, փակեք կապը `օգտագործելով MySQL_Close հրամանը, ինչպես ցույց է տրված վերեւում:

Ձեր զննարկիչից MySQL-Legacy.php զանգահարելիս կտեսնեք հետեւյալ եզրակացությունը, որը ցույց է տալիս, որ PHP- ն կարողացել է միանալ MySQL տվյալների բազային եւ կատարել տվյալների նմուշ:

Միացեք տվյալների բազային: Աշխատակից 1: Andreyex

PHP ...

Տարբեր ձեւերով կապ ստեղծելով:

1) Հին Դեդովսկու կապի մեթոդը MySQL- ին.

$ Conn \u003d mysql_connect ($ db_hostname, $ db_username, $ db_spassword) կամ մեռնել ("Ոչ մի կապ սերվերի հետ);
mysql_select_db ($ db_database, $ միացում) կամ մեռնել ("Ոչ մի կառավարվում է միացնել տվյալների բազայում);

Փոփոխականի բացատրություն ստորեւ:

Միեւնույն ժամանակ, գործառույթներն օգտագործվում են.

  • mysql_connect () - Միանալ սերվերին.
  • mysql_select_db () - միացնել տվյալների բազան.

Միեւնույն ժամանակ, մենք անընդհատ ստուգում ենք այս եղանակով սխալի առկայությունը. Կամ մեռնում ենք («Սխալն այդպես է»); - Թարգմանում է որպես կամ մեռնում նման սխալով `անմիջապես գտնել այնտեղ, որտեղ սխալն է:

config.php.

// փոփոխականներ տվյալների բազայի հետ կապի համար
$ HOST \u003d "localhost"; / Հյուրընկալող
$ Մականուն \u003d "արմատ"; // Գաղտնաբառ տվյալների շտեմարանին միանալու համար
$ գաղտնաբառ \u003d ""; // Գաղտնաբառը տվյալների շտեմարան գողանալու համար - Տեղական համակարգչում այն \u200b\u200bկարող է ունենալ դատարկ արժեք:
$ տվյալների շտեմարան \u003d "My-Dolgi"; // BD անվանումը

// տվյալների բազայի հետ ապրելու հին եղանակ
MySQL_Connect ($ հյուրընկալող, $) կամ մեռնել ("Ես չեմ կարող միանալ, բարդություն ստեղծելու համար);

// Ընտրեք տվյալների բազան: Եթե \u200b\u200bսխալն է ցուցադրել
mysql_select_db ($ տվյալների շտեմարան) կամ մեռնել (MySQL_Error ());

index.php.

Պահանջել_Once "Config.php";


$ Արդյունք \u003d mysql_query ("Ընտրել անունը, փողը Dolg Պատվիրել Money Desc Limit 5") կամ մեռնել (mysql_error ());



";


Մինչդեռ ($ Row \u003d mysql_fetch_assoc ($ արդյունք)) (
";
}


mysql_free_result ($ արդյունք);

// Փակել կապը
mysql_close ();

2) ավելի առաջադեմ ընթացակարգային ոճ - կապը MySQLI- ի տվյալների բազայի հետ.

Այս մեթոդը.

  1. հարմար;
  2. ավելի արագ մինչեւ 40 անգամ;
  3. Բարելավված անվտանգություն;
  4. Կան նոր հնարավորություններ եւ գործառույթներ.

Օրինակ, PHP- ի տվյալների բազայի հետ կապը սեղանից նմուշով

config.php.

// սոցիոլոգիա տվյալների բազայի հետ
$ հղում \u003d mysqli_connect ("localhost", "օգտվողի անուն", "գաղտնաբառ", "Անուն-տվյալների շտեմարան"); // Այստեղ ես մուտքագրում եմ ձեր տվյալները ուղղակիորեն. Մականուն, գաղտնաբառ եւ տվյալների շտեմարանի անվանումը, առաջին դաշտը սովորաբար տեղական

// Միացման սխալի ելք
Եթե \u200b\u200b(! $ հղում) (
Echo "Սխալ տվյալների բազայում միանալու սխալ: Սխալ կոդ.". mysqli_connect_error ();
ելք;
}

Նշում. Ամենուրեք օգտագործեք MySQLI, ոչ MySQL !!!

index.php.

Պահանջել_Once "Config.php";

// Կատարել հարցումը: Եթե \u200b\u200bսխալը ցուցադրվում է
եթե ($ արդյունք \u003d mysqli_query.($ Հղում, «Ընտրեք անունը, փողը Dolg պատվերից` ըստ Money Desc Limit 5 ") (

Էխո », որին պետք է իջնեմ.

";

// Հարցման արդյունքների ընտրություն
Մինչդեռ ($ Row \u003d mysqli_fetch_assoc($ արդյունք)) (
Echo $ Row ["name"] «Պարտքով»: $ Row [«ՓՈՂ»]: «Ռուբլես:
";
}

// Օգտագործված հիշողության ազատագրում
mysqli_free_result($ արդյունք);

// Փակել կապը
mysqli_close($ Հղում:);
}

Ինչպես տեսնում եք, որոշ պահեր փոխվել են (հատկացվել են իտալական):

3) MySQL տվյալների շտեմարանին միանալու օբյեկտի վրա հիմնված մեթոդ - մեթոդներ եւ դասեր:

Դեմ. Ավելի բարդ եւ պակաս ենթակա է սխալների:

Դեմ. Կարճություն եւ հարմարավետություն ծրագրավորողների փորձով:

$ Conn \u003d New MySQLI ($ db_hostname, $ db_username, $ db_password, $ db_database);
Եթե \u200b\u200b($ Conn-\u003e Connect_erno) (
Մեռնել ($ միացված կոն Connect_error);
) Այլ (echo "կապը տվյալների բազայի հետ հաջողությամբ հաստատվել է";)

Այստեղ, սկզբունքորեն, ամեն ինչ ինտուիտիվ է.

  • $ db_hostname է հյուրընկալող (հիմնականում localhost),
  • $ db_database - bD անուն;
  • $ Db_username եւ $ db_password - Մականուն եւ գաղտնաբառ, համապատասխանաբար:

Օրինակ, PHP ոճով տվյալների բազայի հետ կապը սեղանից նմուշով

config.php.

// սոցիոլոգիա տվյալների բազայի հետ
$ mysqli \u003d New MySQLI ("Localhost", "Մականուն", "գաղտնաբառ", "Անուն-տվյալների շտեմարան"); // Այստեղ ես մուտքագրում եմ ձեր տվյալները ուղղակիորեն. Մականուն, գաղտնաբառ եւ տվյալների շտեմարանի անվանումը, առաջին դաշտը սովորաբար տեղական

// Միացման սխալի ելք
Եթե \u200b\u200b($ MySQLI-\u003e CONNEENT_ERROR) (
Die ("Սխալ տվյալների բազայում միանալու սխալը.
}

Նշում. Ամենուրեք օգտագործեք MySQLI, ոչ MySQL !!! Ի տարբերություն նախորդ մեթոդի, նետերը հայտնվում են «-\u003e», ինչը ցույց է տալիս, որ սա OOP ոճ է:

index.php.

Պահանջել_Once "Config.php";

// Կատարել հարցումը: Եթե \u200b\u200bսխալը ցուցադրվում է
Եթե \u200b\u200b($ արդյունք \u003d $ mySQLI-\u003e հարցում:(«Ընտրեք Անունը Dolg պատվերից Money Desc Limit 5») (

Էխո », որին պետք է իջնեմ.

";

// Հարցման արդյունքների ընտրություն
Մինչդեռ ($ Row \u003d $ արդյունք -\u003e fetch_assoc.()) {
Echo $ Row ["name"] «Պարտքով»: $ Row [«ՓՈՂ»]: «Ռուբլես:
";
}

// Օգտագործված հիշողության ազատագրում
$Արդյունք `\u003e փակ ();

// Փակել կապը
$mySQLI-\u003e փակ:();
}

Առաջադրանք ձեզ համար `գտնել տարբերություններ:

4) Հաղորդակցություն տվյալների բազայի հետ PDO- ով.

MySQL- ի տվյալների բազայում միացված, պատրաստված արտահայտություններն օգտագործվում են (պատրաստված մեթոդով) եւ մեծ անվտանգության արդյունքում եւ մեծապես մեծացնում է արագությունը:

Կազմաձեւեք ֆայլը: Նախորդ մեթոդից: - նույն

index.php.

// PDO ոճը MySQL- ի հետ հաղորդակցության համար
Եթե \u200b\u200b($ stmt \u003d $ MySQLI-\u003e Պատրաստեք («Ընտրեք անունը, Dolg պատվերից` ըստ փողի< ? LIMIT 5")) {

$ Stmt-\u003e bind_param ("I", $ sma);
$ Summa \u003d 100000;

// գործարկել կատարումը
$ Stmt-\u003e Կատարել ();

// Փոփոխականների հայտարարություն հավաքված արժեքների համար
$ Stmt-\u003e Bind_result ($ col1, $ col2);

Էխո », որին պետք է իջնեմ.

";

// Հարցման արդյունքների ընտրություն
Մինչդեռ ($ stmt-\u003e բերքի ()) (
Echo $ col1. «Պարտքով»: $ col2. «Ռուբլես:
";
}

// Օգտագործված հիշողության ազատագրում
$ Stmt-\u003e փակ ();

// Փակել կապը
$ mysqli-\u003e փակ ();

Ինչպես տեսնում ենք, շատ ավելի դժվար է եւ անհրաժեշտ է, որ PDO- ն առանձին թեմա է: