Logo Încarcă | Propune
Conecteaza-te arrow

Cum realizezi o baza de date web (mysql) prin PHP

 



Baze de date Mysql in PHP


Introducere:

Am incercat sa fac un tutorial mai mic. Despre bazele de date s-au scris o multime de carti, dar am sa incerc sa spun aici unele functii importante. Am ales baza MySql deoarece este gratis, usor de folosit si destul de populara

Trebuie sa aveti:

In primul rand trebuie sa aveti instalat un server http, si serverul MySql. Daca nu stiti cum se realizeaza acest lucru cititi acest tutorial.

Se ne apucam de lucru:

Pentru a ne conecta la baza de date folosim functia mysql_connect(). Aceasta preia 4 parametri. Ne vom opri asupra primilor 3, deoarece al patrulea este optional si nu ne este necesar. Primul parametru este gazda (host), locul unde se afla serverul. In general este localhost. Pentru un server XAMPP este localhost sau adresa dumneavoastra de IP. Va sfatuiesc sa utilizati prima varianta. Al doilea este numele de utilizator al bazei de date si urmatorul este parola. Prestabilite in Mysql sunt root si root, dar va recomand sa le schimbati pentru securitatea informatiior.


mysql_connect("localhost", "root", "root") 
or die ("Nu ma pot conecta la server");

Vom incerca sa ne conectam la server cu parola si utilizatorul stabilite, in caz contrar apare mesajul "Nu ma pot conecta la server". Daca folosesti o baza de date de pe un host, intreba administratorul care sunt adresa, parola si utilizatorul. Alt mod pentru a te conecta la server este sa deschizi o conexiune persistenta. Pentru a face asa ceva folosim functia mysql_pconnect si ii atribuim aceeasi parametri ca la mysql_connect. De ce sa deschidem o conexiune persistenata ? Cand apelam mysql_pconnect si iesim , conexiunea persistenta vede ca este o legatura cu baza si o foloseste. In alta ordine de cuvinte cand executarea scriptului a fost terminata, conexiunea cu baza de date nu va fi automat inchisa, fata de atunci cand folosim mysql_connect. In acest fel putem folosi conexiunea mai tarziu, dar este o lacuna de securitate care poate fii exploatata de un hecker sau craker.

Dupa ce ne-am conectat, trebuie sa selectam o baza de date cu mysql_select_db().


mysql_select_db("baza_date")
 or die("Nu pot selecta baza de date");

Acesta va incerca sa selecteze baza de date numita baza_date (sau ce baza a-ti ales). Daca nu reuseste returneaza pe ecran "Nu pot selecta baza de date". Odata conectat la baza, puteti trimite interogari (query) pentru a comunica cu acesta. Exemplu de interogare :


mysql_query("Interogare");

Cele mai comune interogari sunt SELECT si INSERTPentru o documentatie mai amanuntita : (http://www.mysql.com). O alta functie cunoscuta in PHP este mysql_num_rows; daca va returneaza numarul de rezultate din interogare.Avem in continuare un exemplu cum sa folosesti o interogare cu mysql_query:


<?php

  $rezultat= mysql_query("SELECT * FROM tabel");

  $numar_de_rezultate= @mysql_num_rows($rezultat);

      

  if ($numar_de_rezultate == 0)

  {

    echo "Nu sunt rezultate";

  }

  else {

    echo "Da! Am gasit rezultate";

  } 

?>

Am pus @ in fata mysql_num_rows pentru a nu afisa (daca exista) eroare, in ca nu sunt rezultate. Ok, puteti folosi un script pentru a realiza autentificarea utilizatorilor si care va cauta in baza de date pentru un utilizator parola si daca nu sunt corecte nu permite conectarea

O alta functie cu adevarat folositoare este mysql_fetch_array, deoarece ea preia rezultate si le pune intr-o matrice cu rezultate care corespunde cu numele coloanei.

Utilizator Parola
John afasdfadsfdsf
Billy tla;jrjealjwqsldajf
Mitch pqrtupipripewir

Dorim sa folosim cod pentru a reusi sa selectam numele utilizatorilor si sa le afisam:


<?php

  echo "Baza de date a utilizatorilor este: 
  <br>";  

  $rezultat= mysql_query("SELECT * FROM tabel");

      

  while ($row= mysql_fetch_array($rezultat))

  {

    $Utilizatornume= $row["Utilizator"]; 

    echo "$Utilizatornume<br>";

  } 

?>

Aceasta va afisa toate numele utilizatorilor din vaza de date. Puteti sa adaugati si exceptii la aceste structuri pentru a sesiza erorile. While citeste din baza de date rezultatele primite din cerere (stocate in $row), care sunt "Utilizatori", apoi le afiseaza impreuna cu un rand gol intre ele. ”

Acum sa folosim o cateva functii care se utilizeaza de obicei in baza de date. Prima este mysql_create_db, care creeaza o noua vaza de date, si o numeste conform parametrului care il primeste


<?php 

  echo "Sunt pe cale sa creez o baza de date 
  
...<br>";

      

  if (mysql_create_db("bazadate_test"))

  {

    echo "Uraaaaaa! Am creat baza<br>";

  }

  else { 

    echo "Nu am putut creea baza doarece: ";

    echo "mysql_error() <br>";

  }

?>

Dupa cum puteti vedea am folosit functia mysql_error, care afiseaza eroarea/erorile care pot aparea in cazul in care exista la o interogare. Daca am creeat una, haide-ti sa o stergem :X folosind mysql_drop_db:


<?php 

  echo "Ma pregatesc sa sterg o baza de date...<br>";

  $rezultat= mysql_drop_db("bazadate_test");

      

  if (!$rezultat)

  {

    echo "Nu am sters baza de date!<br>";                   

  }

  else { 

    echo "Uraaaaaaaaaaaa ! 
	Am sters si baza de date !<br>";   

  }

?>

Sintaxa este foarte asemanatoare cu cea a functiei mysql_create_db.

Urmatoarele doua elemente nu sunt functii dar sunt folosite pentru a manipula un tabel. Urmatoarea va introduce date in baza:


<?php 

  echo "Sunt pe cale sa introduc informatii in baza..
  <br>";

  $rezultat= mysql_query("INSERT INTO bazadate_test 
  (Utilizatornume, Parola) VALUES 
  (Rahim, adfjaldadfsdaf)");

      

  if (!$rezultat)

  {

    echo "Nu am reusit sa inserez!<br>"; 

  }

  else { 

    echo "ura am introdus date<br>";     

  }

?>

Cererea creeaza un nou rand in tabelul bazadate_test, apoi introduce in campurile Utilizatornume si Parola cuvintele Rahim respectiv adfjaldadfsdaf.

Urmatoarea cerere este destul de draguta. Daca am introdus ceva in baza de date, de ce sa nu si caut ? Exista un tutorial despre acest subiect aici


$rezultat= mysql_query("SELECT name FROM 
tabel WHERE name=Joe AND 

         lastname=Sixpack OR lastname=Becker 
		 ORDER BY lastname LIMIT 20");

MySQL are o multime de alte functii si filtre care puteti sa le adaugati la expresia de mai sus ( SELECT statement), daca doriti sa stiti mai multe detalii despre acestea va sugerez documentatia Mysql sau sa postati un comentariu cu ceea ce va intereseaza si se rezolva.

Concluzie:

Baza de date este foarte importanta intr-un site dinamic fiind nucleul acestuia. Este mult mai usor de folosit decat fisierele plane si mult mai rapida. In cadrul securitatii nici nu mai se poate vorbi. Nu imi ramane decat sa va urez succes in proiectele dumneavoastra si sa comentati daca aveti vreo intrebare/problema in acest domeniu.


Cuvinte cheie: documentatie pentru filtre pe baze mysql, how to learn PHP si MySQL, cum sa inveti MySQL si PHP, mysql server, php server, localhost server, server mysql, server php, apache server, server apache, mysql databases, baze de date MySQL, MySQL queries, interogari MySQL,cum faci o baza de date mysql,cod php baza de date


Detalii:
De acelasi autor:
Autor: Cristy - Trimite mesaj autorului
Categoria: Php




Comentarii:
Nume/Prenume
Email
Mesaj
V-am trimis un mesaj.

Postat de Micles Bogdan la 2013-02-01 07:27:58
© Biblioteca de tutoriale Limbă - Aplicaţii - Realizatori- Tutoriale - Contact - Privacy Policy