Daca in tutorialul trecut am vorbit despre fisiere si inglobarea informatiilor in acestea, acum vom vorbi despre bazele
de date care sunt un alt mod de inglobare a informatiilor.
In acest tutorial vom vorbi despre sgbd-ul mysql deoarece este cel mai foloit toate hostingurile il au + ca e free pentru dezvoltare.
Primul pas este instalearea mysql, dar consider ca ati instalat xampp si aveti deja mysql , accesati http://localhost/phpmyadmin si creati o noua baza de date numita 'test' sau alt nume daca doriti.
Acum sa trecem la partea de php:
- Conectarea la baza de date
Pentru a ne conecta la mysql folosim functia mysql_connect
<?php ?>
Functia die() opreste executia scriptului. Se foloseste functia aceasta deoarece in interiorul scriptului pot fi interogari sql sau functii ce folosesc datele din baza de date si daca conexiunea nu este stabilita iar baza de date neselectata apar niste averti9smente destul de urate...
2. Selectarea bazei de date
Pentru a selecta baza de date folosim functia mysql_select_db();
<?php //facem conexiuea la mysql //selectarea bazei de date ?>
3. Rularea query-lor sql, se face cu ajutorul functiei mysql_query();
Pentru inceput avem nevoie de un tabel, asa ca pentru inceput creem un tabel cu ajutorul php-ului.
<?php //facem conexiuea la mysql //selectarea bazei de date //compunem comanda sql pentru a crea un tabel $query="CREATE TABLE IF NOT EXISTS `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `start` int(11) NOT NULL, `end` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; "; //creem tabelul test //daca sa creat tabelul if($tbl){ echo 'Tabelul a fost creat cu succes'; } //daca tabelul nu a putut fi creat else{ //mysql_error va afisa ultima eroare sql aparuta } ?>
Introducem si date in tabel :
<?php //facem conexiuea la mysql //selectarea bazei de date //introducem in tabel tabel date //verificam daca sa facut insert //afisam mesaj echo '<br> S-au inserat in db valorile 50,60'; } //verificam daca sa facut insert //afisam mesaj echo '<br> S-au inserat in db valorile 100,1000'; } ?>
Daca totul decurge bine o sa primiti un mesaj de gen:
S-au inserat in db valorile 50,60
S-au inserat in db valorile 100,1000
Iar tabelul arata astfel:
Daca ati observat am folosit functia mysql_affected_rows() pentru a vedea numarul de randuri afectate.
Pentru INSERT,UPDATE,REPLACE se foloseste mysql_affected_rows pentru SELECT si SHOW se foloseste mysql_num_rows() .
3. Preluarea datelor din baza de date
Pentru asta sunt o multitudine de functii eu o sa prezint doar mysql_fetch_array() , deoarece restul vor veni in contextul urmatoarelor tutoriale.
<?php //facem conexiuea la mysql //selectarea bazei de date //compunem query $query="SELECT * FROM test"; //rulam query //daca sa rulat cu succes query if($sel){ //setam variabila de lucru //cat timp mai sunt inca randuri //formam array-ul date $date[$row['id']]=$row; } //afisam array-ul } //altfel else{ //afisam eroarea sql } ?>
Rezultatul fiind:
array ( 0 => '2', 'id' => '2', 1 => '100', 'start' => '100', 2 => '1000', 'end' => '1000', ), 0 => '1', 'id' => '1', 1 => '50', 'start' => '50', 2 => '60', 'end' => '60', ), )
Acum o sa va explic si acel while care probabil o sa vi se para ciudat.
$date[$row['id']]=$row; }
$row devine array prin atribuire cu functia mysql_fecth_array(), daca am vi avut un select care ar fi returnat un singur rand atunci totul ar fi fost ok am fi afisat direct $row dar in acest caz am fi afisat doar ultimul rezultat, insa prin folosirea lui while si a unui nou array putem stoca datele intr-o matrice, bineinteles se putea folosi si $date[]=$row, dar e mai elegant asa deoarece matricea va fi de forma matrice[1][1]=>array();
Daca sunt nelamuriri lasati un comentariu si va raspund, trebuie sa fiti inregistrat pentru a putea comenta un articol.
Cam atat in acest tutorial, daca o sa imi mai vina idei o sa ii dau edit, bafta pana la urmatorul articol.