Aksesimi i bazes se te dhenave mysql nepermjet php se
This presentation is the property of its rightful owner.
Sponsored Links
1 / 20

Aksesimi i bazes se te dhenave MySQL nepermjet PHP-se PowerPoint PPT Presentation


  • 145 Views
  • Uploaded on
  • Presentation posted in: General

Aksesimi i bazes se te dhenave MySQL nepermjet PHP-se. Programim ne Web Leksion 9. Arkitektura e nje baze te dhenash ne web. Veprimi baze i nje web serveri tregohet ne figure. Sistemi perbehet nga dy objekte: nje Web server dhe nje Web browser.

Download Presentation

Aksesimi i bazes se te dhenave MySQL nepermjet PHP-se

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Aksesimi i bazes se te dhenave mysql nepermjet php se

Aksesimi i bazes se te dhenave MySQL nepermjet PHP-se

Programim ne Web

Leksion 9

Iralda Mitro


Arkitektura e nje baze te dhenash ne web

Arkitektura e nje baze te dhenash ne web

  • Veprimi baze i nje web serveri tregohet ne figure.

  • Sistemi perbehet nga dy objekte: nje Web server dhe nje Web browser.

  • Ndermjet tyre kerkohet nje linje komunikimi: Nje web browser ben nje kerkese ne web server dhe web serveri kthen pergjigjen.

  • Kjo arkitekture perdoret per shperndarjen e faqeve statike.

  • Ndersa per web sitet me nje baze te dhenash, arkitektura eshte pak me komplekse:

Iralda Mitro


Arkitektura e nje baze te dhenash ne web1

Arkitektura e nje baze te dhenash ne web

Nje transaksion tipik i bazes se te dhenave web perbehet nga etapat e meposhtme:

  • Web browseri i nje perdoruesi dergon nje kerkese HTTP per nje faqe web te caktuar. Psh: mund te beje nje kerkim per te gjithe librat ne bazen e te dhenave Book-O-Rama te shkruar nga Laura Thomson, duke perdorur nje forme HTML. Faqja e rezultateve te kerkimit quhet results.php

  • Web serveri merr kerkesen per results.php, merr skedarin dhe ia dergon ate motorit te PHP-se per procesim.

Iralda Mitro


Arkitektura e nje baze te dhenash ne web2

Arkitektura e nje baze te dhenash ne web

  • Motori PHP fillon duke analizuar (parsing) skriptin. Brenda skriptit eshte nje komande per t’u lidhur me bazen e te dhenave dhe per te ekzekutuar nje query (kryen kerkimin per librat). PHP hap nje lidhje me serverin MySQL dhe i dergon query-n e duhur.

  • Serveri MySQL e merr query-n e bazes se te dhenave dhe e perpunon ate, dhe dergon rezultatet, nje liste librash, ne motorin e PHP-se

  • Motori i PHP-se perfundon ekzekutimin e skriptit, i cili zakonisht do te perfshije formatimin e rezultateve te query-t, ne menyre te kendshme ne HTML. Ai me pas i kthen rezultatet HTML ne Web server.

  • Web Serveri e kalon HTML-ne ne browser, ku perdoruesi mund te shohe listen e librave qe ka kerkuar.

Iralda Mitro


Krijimi i nje lidhjeje me bazen e te dhenave

Krijimi i nje lidhjeje me bazen e te dhenave

  • Per t’u lidhur me serverin MySQL, perdorim kete rresht:

    $db = mysql_pconnect(‘localhost’, ‘bookrama’, ‘bookrama’);

  • Sintaksa e pergjithshme e ketij funksioni eshte:

    int mysql_pconnect ([string host [:port] [:/socketpath]] , [string user] , [string password]);

  • Ky funksion kthen nje identifikues link per ne bazen e te dhenave MySQL, nese ka sukses, ose kthen false nese deshton. Kjo mund te kontrollohet nepermjet kodit:

    If (!$db)

    {

    echo “Error connecting”;

    exit;

    }

Iralda Mitro


Krijimi i nje lidhjeje me bazen e te dhenave1

Krijimi i nje lidhjeje me bazen e te dhenave

  • Nje funksion tjeter qe ben pothuajse te njejten gje si funksioni mysql_pconnect eshte funksioni mysql_connect().

  • Ndryshimi eshte se mysql_pconnect kthen nje lidhje te qendrueshme me bazen e te dhenave.

  • Nje lidhje normale me bazen e te dhenave do te mbyllet kur skripti e perfundon ekzektutimin ose kur skripti therret funksionin mysql_close().

  • Nje lidhje e qendrueshme mbetet e hapur pasi perfundon ekzekutimi i skriptit dhe nuk mund te mbyllet me funksionin mysql_close().

  • Perse duhet kjo?

    • Lidhja me nje baze te dhenash kerkon njefare kohe. Kur thirret mysql_connect(), perpara se te perpiqet te lidhet me bazen e te dhenave, ai do te kerkoje automatikisht nese ka ndonje lidhje te qendrueshme qe eshte hapur qe me pare. Nese po, si do te perdore ate lidhje ne vend qe te hape nje lidhje tjeter. Kjo kursen kohen dhe ngarkesen e serverit.

Iralda Mitro


Zgjedhja e bazes se te dhenave qe do perdorim

Zgjedhja e bazes se te dhenave qe do perdorim

  • Ai do te perpiqet te perdore bazen e te dhenave te quajtur database.

  • Mund edhe te shtoni ne menyre opsionale, linkun e bazes se te dhenave, mbi te cilin doni ta kryeni kete veprim (ne kete rast $db)

  • Nese nuk e specifikoni kete, do te perdoret linku qe eshte hapur i fundit.

  • Nese nuk keni nje link te hapur, do te hapet linku default, sikur te kishit thirrur mysql_connect().

Iralda Mitro


Ndertimi i query ve ne bazen e te dhenave

Ndertimi i query-ve ne bazen e te dhenave

  • Sintaksa e mysql_query eshte:

  • Mund te perdorni edhe mysql_db_query, qe ka kete sintakse:

    • Kjo eshte si nje kombinim i mysql_select_db() me mysql_query()

  • Te dy keto funksione kthejne nje identifikues rezultati (qe na lejon qe te marrim rezultatet e query-t) kur ka sukses dhe false ne te kundert. Kete identifikues duhet ta ruajme ne nje variabel (si psh ne $result), ne menyre qe ta perdorim.

Iralda Mitro


Marrja e rezultateve te query t

Marrja e rezultateve te query-t

  • Ka nje bashkesi funksionesh per te copetuar rezultatet nga identifikuesi i rezultatit ne menyra te ndryshme.

  • Identifikuesi i rezultatit eshte çelesi per te aksesuar zero, nje apo me shume rreshtat qe kthehen nga query.

  • Ne shembullin tone kemi perdorur dy prej tyre: mysql_numrows() dhe mysql_fetch_array()

  • mysql_numrows() na jep numrin e rreshtave qe kthehen nga query. Duhet t’i kalojme si parameter identifikuesin e rezultatit :

    $num_results = mysql_numrows($result);

    Kjo na duhet, nese duam te shfaqim rezultatet:

    for ($i=0; $i<$num_results; $i++)

    { // process results

    }

Iralda Mitro


Marrja e rezultateve te query t1

Marrja e rezultateve te query-t

  • Ne çdo iteracion te ketij cikli, therrasim mysql_fetch_array. Ky cikel nuk do te ekzekutohet nese nuk kthehet asnje rresht.

  • Ky funksion merr çdo rresht te bashkesise se rezultateve dhe e kthen rreshtin si nje vektor te shoqeruar, ku çdo emer atributi sherben si çeles:

    $row = mysql_fetch_array($result);

  • Pasi marrim vektorin e shoqeruar $row, mund te kapim çdo fushe dhe ta afishojme ate siç duhet:

    echo “<br>ISBN: ”;

    echo stripslashes($row[“isbn”]);

    //http://php.net/manual/en/function.stripslashes.php

IraldaMitro


Marrja e rezultateve te query t2

Marrja e rezultateve te query-t

  • Ka disa menyra per te marre rezultatet nga nje identifikues rezultati.

  • Ne vend te nje vektori te shoqeruar, mund t’i marrim rezultatet si nje vektor i numeruar me ane te mysql_fetch_row():

    $row = mysql_fetch_row($result);

  • Vlerat e atributeve do te listohen ne secilen nga vlerat e vektorit $row[0], $row[1], e keshtu me radhe.

Iralda Mitro


Shtimi i informacioneve te reja ne bazen e te dhenave

Shtimi i informacioneve te reja ne bazen e te dhenave

  • Duhet te ndiqen keto hapa:

    • behet lidhja me db

    • dergohet nje query

    • kontrollohet rezultati

    • Ne kete rast query do te jete INSERT.

Iralda Mitro


Shtimi i informacioneve te reja ne db

Shtimi i informacioneve te reja ne DB

Iralda Mitro


Shtimi i informacioneve te reja ne db1

Shtimi i informacioneve te reja ne DB

Iralda Mitro


Shtimi i informacioneve te reja ne db2

Shtimi i informacioneve te reja ne DB

Iralda Mitro


Shtimi i informacioneve te reja ne db3

Shtimi i informacioneve te reja ne DB

Nese skripti perfundon me sukses, pra realizohet shtimi i rreshtit te ri ne Db,

atehere do te afishote faqja e meposhtme

Iralda Mitro


Shtimi i informacioneve te reja ne db4

Shtimi i informacioneve te reja ne DB

  • Nje ndryshim i rendesishem ndermjet INSERT dhe SELECT eshte perdorimi i

  • mysql_affected_rows ()

  • Ne skriptin e meparshem perdorem mysql_num_rows() per te percaktuar se sa rreshta jane kthyer nga select.

  • Kur shkruajme query qe e ndryshojne DB si INSERT, DELETE, apo UPDATE, duhet te perdorim mysql_affected_rows().

Iralda Mitro


Lirimi i burimeve

Lirimi i Burimeve

  • Nese keni probleme me memorien gjate ekzekutimit te skriptit, mund t’ju duhet te perdorni mysql_free_result(), qe ka sintakse si me poshte:

  • Mund ta therrisni me nje identifikues rezultati, si vijon:

  • Kjo ka efektin e lirimit te memories se perdorur per te ruajtur rezultatin. Natyrisht nuk duhet ta therrisni ate derisa te keni mbaruar punen me nje bashkesi rezultatesh (resultset)

Iralda Mitro


Krijimi dhe fshirja e bazave te te dhenave

Krijimi dhe fshirja e bazave te te dhenave

  • Te dy keto funksione marrin si parametra nje emer databaze dhe nje lidhje opsionale.

  • Nese nuk jepet nje lidhje, do te perdoret ajo qe eshte hapur e fundit.

  • Ato do te perpiqen qe te krijojne dhe te fshijne databazat e dhena.

  • Te dy funksionet kthejne true nese kane sukses dhe false ne te kundert.

Iralda Mitro


Aksesimi i bazes se te dhenave mysql nepermjet php se

<?php

function dbConn()

{

$db = mysql_connect("localhost","root","");

if (!$db)

{

echo "Nuk mund te lidhet me DB";

exit;

}

else

{

echo "Lidhja me DB u realizua me sukses<br>";

}

mysql_select_db("elearning");

}

function afishim()

{

$query = "select * from botime";

$result = mysql_query($query);

$num_results = mysql_numrows($result);

for ($i=0; $i<$num_results; $i++)

{

$row = mysql_fetch_array($result);

echo "Titulli: $row[titull], Pershkrimi: $row[pershkrim] ";

echo "<br>";

}

}

dbConn();

afishim();

?>

Iralda Mitro


  • Login