Cum realizezi o baza de date web (mysql) prin 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("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("baza_date")
or die("Nu pot selecta baza de date");
Acesta va incerca sa selecteze baza de date numita
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.
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:
Comentarii:
|
| © Biblioteca de tutoriale | Limbă - Aplicaţii - Realizatori- Tutoriale - Contact - Privacy Policy |