Curs PHP-MySQL

Explorarea Sistemului de Gestiune a Bazelor de Date MySQL

  • Invatati sa determinati bazele de date dintr-un server MySQL
  • Invatati sa obtineti o lista a tabelelor dintr-o baza de date MySQL si sa determinati coloanele din tabel

1. Determinarea bazelor de date gazduite de un server MySQL

Pentru a determina bazele de date gazduite de un server MySQL la care aveti acces, utilizati functia:

  • mysql_list_dbs()
Functia returneaza un set de rezultate alcatuit din numele bazelor de date gazduite.
Intai determinati numarul rândurilor din setul de rezultate utilizand functia mysql_num_rows(), asa cum procedati în cazul unui set de rezultate normal. Apoi trebuie sa preluati fiecare rând cu functia mysql_tablename(), care preia ca argumente valoarea returnata de functia mysql_list_dbs() si numarul rândului care va fi citit. Rândurile sunt numerotate începând de la 0.
Iata un exemplu prin care puteti afisa numele bazelor de date gazduite pe "localhost":
<?php
$dbh = mysql_connect( "localhost", "nume_user", "parola")
    or die("Unable to connect to MySQL");
$dblist = mysql_list_dbs();
$nr = mysql_num_rows($dblist);
if (mysql_errno()) {
    echo "<br />". mysql_errno(). " : ". mysql_error(). "<br />";
}
for ($i=0; $i<$nr; $i++) {
    echo "<br />". mysql_tablename($dblist, $i);
}
mysql_close();
?>

2. Determinarea tabelelor incluse într-o baza de date MySQL

Pentru a obtine o lista a tabelelor incluse într-o baza de date specificata, folositi functia

  • mysql_list_tables()
Aceasta foloseste ca argument numele bazei de date si returneaza un set de rezultate similar celui returnat de mysql_list_dbs().
Pentru a obtine acces la lista cu tabele, parcurgeti setul de rezultate cu ajutorul unei instructiuni "for" in cadrul careia utilizati functia mysql_tablename().
Iata un exemplu care prezinta modul de obtinere si afisare a listei tabelelor din baza de date "lucrudb":
<?php
$dbh = mysql_connect( "localhost", "nume_user", "parola")
    or die("Unable to connect to MySQL");
$tabele = mysql_list_tables("lucrudb");
$nr = mysql_num_rows($tabele);
if (mysql_errno()) {
    echo "<br />". mysql_errno(). " : ". mysql_error(). "<br />";
}
for ($i=0; $i<$nr; $i++) {
    echo "<br />". mysql_tablename($tabele, $i);
}
mysql_close();
?>

Pentru a putea obtine lista cu tabelele dintr-o baza de date, trebuie ca numele de utilizator si parola folosite sa ofere acces la baza de ate respectiva, in caz contrar veti primi un mesaj de eroare.

3. Determinarea coloanelor incluse într-un tabel

Pentru a obtine o lista a coloanelor incluse într-un tabel, puteti utiliza functia:

  • mysql_list_fields()
Aceasta returneaza un set de rezultate alcatuit din numele coloanelor tabelului specificat, foloseste ca argumente numele bazei de date si numele tabelului.
Iata un exemplu care va prezinta modul de obtinere a numelui coloanelor din tabelul "carti", folosind functia mysql_list_fields():
<?php
$dbh = mysql_connect( "localhost", "nume_user", "parola")
    or die("Unable to connect to MySQL");
$coloane = mysql_list_fields("lucrudb", "carti");
$nr = mysql_num_fields($coloane);
if (mysql_errno()) {
    echo "<br />". mysql_errno(). " : ". mysql_error(). "<br />";
}
for ($i=0; $i<$nr; $i++) {
    echo "<br />". mysql_field_name($coloane, $i);
}
mysql_close();
?>

Daca in locul numelui coloanelor doriti sa obtineti alte informatii despre colanele dintr-un tabel MySQL, folositi in locul functiei mysql_field_name() din interiorul instructiunii "for", una din functiile: mysql_fetch_fields(), mysql_field_flags(), mysql_field_len() sau mysql_field_type(), care au fost prezentate in primul capitol al aceastei lectii.

Lectii / Tutoriale

Diverse PHP

Explorare Baze de Date MySQL - Tutoriale PHP
2008 - 2012 Webmaster, Webdesigner : MarPlo