Sunteți pe pagina 1din 3

4.

PHP si MySQL
Preluare de date

In PHP sunt integrate functii pentru conectarea, preluarea si manipularea datelor din SGBD ul MySQL. Functia pentru conectarea la baza de date este mysql_connect(), functie ce accepta 3 parametrii de intrare, dupa cum urmeaza : hostname sau ip, username, password.

Ex : $link=mysql_connect(localhost,root,parola123); Ca si in lucrul cu fisierele o conexiune trebuie inchisa (daca totusi uitam, ea se va inchide la sfarsitul executiei scriptului). Functia pentru deconectare este mysql_close() ce accepta ca parametru de intrare pointerul (variabila) returnata de mysql_connect(). Ex : mysql_close($link); Dupa conectare trebuie selectata baza de date cu care dorim sa lucram. Astfel vom folosi functia mysql_select_db(), ce accepta ca parametrii un string ce contine numele bazei de date dorite, si optional pointerul catre conexiune. Ex : mysql_select_db(studenti); mysql_select_db(studenti,$link); Pentru a face o interogare se foloseste functia mysql_query(), functie ce accepta un string si optional un pointer de conexiune. Ex: $result=mysql_query(select * from info); $result=mysql_query(select * from info,$link);

Numarul de coloane ce rezulta dintr-o interogare este redat de functia mysql_num_rows(); Ex : $result=mysql_query(select * from info); echo Numarul de inregistrari este : .mysql_num_rows($result); Numarul de inregistrari afectate de INSERT, UPDATE sau DELETE rezulta din utilizarea functiei mysql_affected_rows(); Ex: $result=mysql_query(update info set nrcrt=nrcrt+1); echo Numarul de inregistrari este : .mysql_affected_rows($result); Regasirea datelor se face cu o diversitate de functii, precum : mysql_result(), mysql_fetch_row(),mysql_fetch_assoc(),mysql_fetch_array(), mysql_fetch_object(). Ex 1: $link=mysql_connect(localhost,root,); mysql_select_db(studenti); $result=mysql_query(select * from info); for ($i=0;$i<mysql_num_rows($result);$i++) echo mysql_result($result,$i); mysql_close($link);

Ex 2: $link=mysql_connect(localhost,root,); mysql_select_db(studenti); $result=mysql_query(select * from info); while($date=mysql_fetch_row($result)) echo $date[0]./.$date[1]; mysql_close($link);

Ex 3: $link=mysql_connect(localhost,root,); mysql_select_db(studenti); $result=mysql_query(select * from info); while($date=mysql_fetch_assoc($result)) echo $date[nume]./.$date[varsta]; mysql_close($link); Ex 4: //mysql_fetch_array combina indexarea numerica //cu cea alfabetica adica imbina cele 2 functii //mysql_fetch_row() si mysql_fetch_assoc() $link=mysql_connect(localhost,root,); mysql_select_db(studenti); $result=mysql_query(select * from info); while($date=mysql_fetch_array($result)) echo $date[nume]./.$date[1]; mysql_close($link); Ex 5: //mysql_fetch_object creaza un obiect cu //numele coloanelor $link=mysql_connect(localhost,root,); mysql_select_db(studenti); $result=mysql_query(select * from info); while($date=mysql_fetch_object($result)) echo $date->nume./.$date->varsta; mysql_close($link); Functia mysql_free_result() accepta ca parametru resursa returnata de mysql_query.