E-learn.ro
Panou utilizatori
Utilizator Parola
Creeaza cont nou    Recupereaza parola
Login
Newsletter
Introdu adresa ta de email
Inscrie-te
Inchide panoul de utilizatori
Add to Google

Tutoriale PHP

Descarca toolbar

Toolbar E-learn.ro Facebook Twitter

WEB DEVELOPMENT  /  PHP  /  Introducere in PHP (24)

VIII. PHP si MySQL (partea I)

29.05.2008
VIII. PHP si MySQL (partea I)

In acest tutorial vei vedea cum sa folosesti PHP pentru a extrage informatii dintr-o baza de date, utilizand apoi aceste informatii pentru a construi o pagina Web dinamica.

Total vizualizari: 10809 10809 afisari   |   Comentarii  1   |   Rating   |   (6 voturi)   |   Timp necesar: 1h 1h   |   Nivel de cunostiinte necesar: Incepator  Incepator

Sursa:  Zend.com  
Autor:  Vikram Vaswani
Adauga la tutoriale favorit Adauga la tutoriale favorite
Pagina:
« 12 3 4 »
comenteaza printeaza

Dupa cum poti vedea, utilizarea PHP-ului pentru a extrage date dintr-o baza de date presupune mai multi pasi, fiecare dintre acestia fiind de fapt o functie PHP pre-definita. Sa analizam fiecare pas:

1. Primul lucru care trebuie facut este sa specificam anumite informatii importante, care sunt necesare stabilirii unei conexiuni la serverul bazei de date. Aceste informatii cuprind numele serverului, numele de utilizator si parola necesara pentru a o accesa, precum si numele bazei de date pe care se efectueaza interogarea. Toate aceste valori se construiesc in variabile PHP regulate.

<?php 
$host = "localhost"; 
$user = "test"; 
$pass = "test"; 
$db = "testdb"; 
?>

2. Pentru a incepe comunicarea cu un server de baze de date MySQL, trebuie sa deschizi o conexiune la acel server. Orice comunicare intre PHP si serverul bazei de date va avea loc prin intermediul acestei conexiuni.

Pentru a initializa aceasta conexiune, PHP ofera functia mysql_connect():

<?php 
$connection = mysql_connect($server, $user, $pass); 
?>

Toti parametrii din mysql_connect() sunt optionali, insa exista trei anume de care vei avea in general nevoie pentru a-i folosi, de pe orice computer de pe care lucrezi: numele serverului bazei de date, numele de utilizator si parola. In cazul in care serverul bazei de date si serverul Web sunt localizate fizic pe acelasi computer, poti folosi localhost ca nume pentru serverul bazei de date, aceasta fiind de fapt valoarea pre-stabilita pe care o furnizeaza PHP.

mysql_connect() va returna un "identificator de link", care este stocat in variabila $connection. Acest identificator este folosit in comunicarea cu baza de date.

3. Odata ce esti conectat la baza de date, trebuie sa selectezi o baza de date in vederea utilizarii, cu ajutorul functiei mysql_select_db():

<?php 
mysql_select_db($db) or die ("Nu pot selecta baza de date!"); 
?>

Acestei functii trebuie sa ii fie furnizat numele bazei de date ce va fi folosita pentru toate interogarile ulterioare. Un argument secundar optional ar fi identificatorul de link; daca nu se specifica nici un identificator, se considera ca atare ultimul link deschis. Daca ai doua sau mai multe conexiuni de baze de date deschise concomitent, este indicat sa specifici identificatorul de link ca argument secundar al mysql_select_db() - si de asemenea al oricarei alte functii mysql_* din script, astfel incat PHP sa nu faca confuzii cu privire la unde trebuie sa foloseasca o conexiune, si unde pe cealalta.

4. Urmatorul pas este sa creezi o interogare si sa o executi. Acest lucru se realizeaza cu functia the mysql_query().

<?php 
$query = "SELECT * FROM symbols"; 
$result = mysql_query($query) or die ("Interogarea SQL contine o 
eroare: $query. ".mysql_error()); 
?>

Aceasta functie necesita de asemenea doi parametri: sirul de interogare si identificatorul de link pentru conexiune. Din nou, daca nu se specifica nici un identificator de link, se va folosi ultimul link deschis. In functie de reusita sau esecul interogarii, functia va returna true sau false; un eventual esec poate fi detectat prin intermediul clauzei ...or die() a functiei, iar functia mysql_error() poate fi folosita pentru a afisa mesajul corespunzator de eroare.

5. Daca mysql_query() se realizeaza cu succes, setul de rezultate returnat de catre interogare va fi stocat in variabila $result. Acest rezultat poate contine unul sau mai multe randuri sau coloane de date, in functie de interogarea ta. Poti extrage anumite subseturi ale setului de rezultate cu alte functii PHP, inclusiv cea folosita aici - functia mysql_fetch_row() - care extrage un singur rand de date ca o matrice numita $row. Campurile din acest rand pot fi apoi accesate folosind sistemul standard de notatii PHP. De fiecare data cand apelezi mysql_fetch_row(), se va returna urmatoarea inregistrare din setul de rezultate. Acest lucru face ca mysql_fetch_row() sa fie deosebit de potrivit pentru utilizarea intr-o bucla while() sau for().

<?php 
 
if (mysql_num_rows($result) > 0) { 
    while($row = mysql_fetch_row($result)) { 
        echo "<td>".$row[0]."</td>"; 
        echo "<td>".$row[1]."</td>"; 
        echo "<td>".$row[2]."</td>"; 
    } 
} 
?>

Retine faptul ca apelarea  mysql_fetch_row() este inclusa intr-un instructiune conditionala, care mai intai verifica daca s-a returnat vreun rand. Aceasta informatie este furnizata de  catre functia mysql_num_rows(), care contine numarul de randuri returnat de catre interogare. Evident, poti folosi aceasta functie doar pentru interogarile care returneaza date, cum ar fi SELECT or SHOW. Ea nu este adecvata pentru a fi utilizata in cazul INSERT, UPDATE, DELETE sau alte interogari de acest tip. Mai exista si alte cateva alternative la mysql_fetch_row(), care vor fi explicate mai jos.

In sfarsit, pentru ca fiecare set de rezultate returnat in urma unei interogari ocupa memorie, o practica buna este aceea de a utiliza functia mysql_free_result() pentru a elibera memoria folosita. Odata ce rezultatul este eliberat, si daca nu intentionezi sa mai rulezi alte interogari, poti inchide conexiunea la serverul MySQL cu mysql_close().

<?php 
 
mysql_free_result($result); 
mysql_close($connection); 
 
?>
Pagina:
« 12 3 4 »
comenteaza printeaza
Alte tutoriale PHP:
Noteaza acest tutorial
Rating tutorial
 
(6 voturi)
Pentru a nota acest tutorial, trebuie sa fii logat!
COMENTARII (1) spune-ti parerea
gexe , Miercuri, 10 Octombrie 2012, ora 05:44
#1

cum adaug in acest script numele coloanelor ? de exemplu pentru $row[0] care este in cazul meu "id" si as vrea sa-mi apara nr.crt ca nume al coloanet

Raporteaza acest comentariu ca injurios!
Posteaza un comentariu
Pentru a posta un comentariu, trebuie sa fii logat!
0 TOP UTILIZATORI* 0 0
Tutoriale scrise de claibornelara
claibornelara Rang utilizator claibornelara - Incepator
5045
Tutoriale scrise de mcuemica
mcuemica Rang utilizator mcuemica - Incepator
5005
Tutoriale scrise de ellarichards
ellarichards Rang utilizator ellarichards - Incepator
4845
Tutoriale scrise de emonclercheap
emonclercheap Rang utilizator emonclercheap - Incepator
4820
Tutoriale scrise de beacherrosa
beacherrosa Rang utilizator beacherrosa - Incepator
4620
* Acest top reprezinta punctajele acumulate in ultimele 30 de zile.
PHP CSS MySQL Word RoR HTML Flash Javascript Sony Vegas AJAX Python Excel Gimp Fireworks Lightroom Photoshop SEO COREL DRAW Bridge Ruby on Rails Vista XHTML StyleSheet Powerpoint XML JSON Verilog SWF PSD Fotografie Swift 3D Dreamweaver Outlook Java Action Script Illustrator
Promovare:
Daca faci parte din comunitatea E-learn.ro si doresti promovarea acesteia, poti accesa pagina de promovare.
Arhiva newsletter:
Daca ai ratat un numar mai vechi, sau vrei sa revezi care au fost noutatile E-learn.ro la un moment dat, poti accesa arhiva de newslettere.
  Copyright © 2008-2013 E-LEARN.ro. Toate drepturile rezervate. Termeni si conditii.
Conceput si realizat de Neokinetics Software