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:
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
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:
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.