Documente Academic
Documente Profesional
Documente Cultură
Lectia 18.
Programare WEB
Principaleletipuride date din MySQL
.BLOB-Date binare arbitrare, cu o lungime maxima de 65535 octeti
mysql_affected_rows(),
care returneaza numarul rindurilor afectate
de interogarea cea mai recenta.
Prelucrarea rezultatelor interogarilor
SELECT
.mysql_fetch_assoc()(saumysql_fetch_array()cu parametru
"MYSQL_ASSOC").
-sunt similare, adauga datele intr-o matrice asociativa unde
pentru fiecare element avem chei cu numele coloanelor iar
valoarile lor sunt datele din randul respectiv.
.mysql_fetch_row().
-adauga datele intr-o matrice asociativa unde pentru fiecare
element avem chei cu numere consecutive (incepand de la 0)
care reprezinta ordinea coloanelor iar valoarile lor sunt datele din
randul respectiv
.mysql_fetch_object().
-aduce rezultatele randului sub forma de obiect cu perechile
$rand->coloana
Protectii la adaugarea datelor
intr-o baza de date
.magic_quotes_gcp()-(poate fi setat ON din "php.ini") adauga
caracterul "\" inaintea ghilimelelor simple sau duble
.addslashes()-o functie PHP care adauga caracterul "\" inaintea
ghilimelelor simple sau duble
.mysql_real_escape_string()-adauga caracterul "\" inaintea
caracterelor speciale: NULL, \n, \r, \, ', ", \x00 si \x1a
.htmlentities()-transforma caractere HTML in entitati ale acestora
(de ex.: > devine >, ghilimelele duble " devin ")
Obtinerea numarului coloanelor dintr-un
tabel MySQL
.Pentru a obtine numarul coloanelor dintr-
un set de rezultate, utilizati functia
mysql_num_fields()
.Aceasta foloseste ca argument valoarea
returnata de functia mysql_query().
Obtinerea numelui unei coloane
.Pentru a obtine numele unei coloane dintr-un tabel MySQL, folositi
functia
mysql_field_name()
.Aceasta returneaza numele coloanei din setul de rezultate. Functia
preia doua argumente: valoarea returnata de functia mysql_query()
si indexul coloanei care va fi descrisa. Indexul asociat cu prima
coloana este 0, indexul asociat celei de-a doua coloane este l etc.
Obtinerea lungimii unei coloane
.Pentru a obtine lungimea unei coloane dintr-un tabel MySQL, folositi
functia
mysql_field_len()
.Aceasta returneaza lungimea maxima a coloanei din setul de
rezultate. Functia preia doua argumente: valoarea returnata de
functia mysql_query()si indexul coloanei care va fi descrisa.
Indexul asociat cu prima coloana este 0, indexul asociat celei de-a
doua coloane este l etc.
Obtinerea tipului MySQL al unei coloane
.Pentru a obtine tipul MySQL al unei coloane dintr-un tabel MySQL,
folositi functia
mysql_field_type()
.Aceasta preia doua argumente: valoarea returnata de functia
mysql_query()si indexul coloanei care va fi descrisa. Indexul
asociat cu prima coloana este 0, indexul asociat celei de-a doua
coloane este l etc.
Determinarea tabelului MySQL asociat
unei coloane
.Pentru a determina tabelul MySQL (daca exista) asociat unei
anumite coloane, folositi functia
mysql_field_table()
.Aceasta preia doua argumente: valoarea returnata de functia
mysql_query()si indexul coloanei care va fi descrisa. Indexul
asociat cu prima coloana este 0, indexul asociat celei de-a doua
coloane este l etc.
In cazul in care coloana contine o valoare calculata sau daca
respectiva coloana nu este asociata in alt mod cu un tabel MySQL,
functia returneaza un sir vid.
Obtinerea structurii complete a setului de
rezultate
.Daca doriti obtinerea mai multor caracteristici ale setului
de rezultate, o functie utila poate fi:
mysql_fetch_field()
.Aceasta functie returneaza un obiect ale carui proprietati
contin o varietate de informatii cu privire la coloana unui
tabel MySQL.
Obtinerea structurii complete a setului de
rezultate
.Proprietatile sunt urmatoarele:
.blob-are valoarea 1 in cazul in care coloana este de tip BLOB
.max_length-lungimea maxima a coloanei;
.multiple_key-are valoarea 1 in cazul in care coloana este o cheie non-unica
.name-numele coloanei
.not_null-are valoarea 1 in cazul in care coloana nu poate contine valoarea NULL
.numeric-are valoarea 1 in cazul in care coloana este numerica
.primary_key-are valoarea 1 in cazul in care coloana este o cheie primara
.table-numele tabelului MySQL caruia ii apartine coloana
.type-tipul MySQL al coloanei
.unique_key-are valoarea 1 in cazul in care coloana este o cheie unica
.unsigned-are valoarea 1 in cazul in care coloana este de tip UNSIGNED
.zerofill-are valoarea 1 in cazul in care coloana este completata cu zerouri
.functia mysql_fetch_field()preia doua argumente: valoarea returnata de functia
mysql_query()si indexul coloanei care va fi descrisa. Indexul asociat primei col
oane
este 0, indexul asociat celei de-a doua coloane este l etc.
Accesul non-secvential la coloanele unui
set de rezultate
.mysql_data_seek(rezultat, numar_rand)
Determinarea bazelor de date
gazduite de un server MySQL
.mysql_list_dbs()
Determinarea tabelelor incluse
intr-o baza de date MySQL
.mysql_list_tables()
Determinarea coloanelor incluse intr-un
tabel
.mysql_list_fields()