Pachetul de functii mssql_xxx: referat




Funcţia mssql_connect - deschide o conexiune la serverul SQL

prototip : resource mssql_connect ( [ string servername [, string username [, string
password [, bool new_link]]]])
exemplu : @$db = mssql_connect ('localhost','mihai','mypasword')
Returnează un identificator MS SQL în caz de succes sau FALSE în caz de eroare .
mssql_connect stabileşte o conexiune la un server MS SQL.În cazul în care un al doilea apel mssql_connect este făcut cu aceleaşi argumente nu va fi stabilită o nouă conexiune şi în acest caz se va returna identificarorul de legătrură al primei conexiuni.Legătura la server va fi închisă în momentul în care se termină execuţia scriptului în afara cazului în care se efectuează înainte o închidere explicită apelată prin mssql_close().

Funcţia mssql_pconnect - deschide o conexiune persistentă MS SQL

prototip : resource mssql_pconnect ( [string servername [, string username [, string
password [, bool new_link]]]] )
exemplu : @$db = mssql_pconnect ('localhost','mihai','mypasword')

Returnează un identificator MS SQL în caz de succes sau FALSE în caz de eroare .



mssql_pconnect acţionează la fel ca şi mssql_connect cu două diferenţe majore :

 în primul rând înaintea stabilirii conexiunii funcţia va încerca să găsească o legărură (persistentă) stabilită cu aceleaşi valori pentru gazdă (host) , username şi password.În cazul în care se găseşte o astfel de legătură se va returna identificatorul acestei legături .
 în al doilea rând conexiunea la serverul SQL nu va fi închisă în momentul în care se termină execuţia scriptului care a stabilit conexiunea .Legătura va rămâne deschisă pentru o utililzare viitoare. ( mssql_close() nu va închide legăturile stabilite prin mssql_pconnect()).

Funcţia mssql_close - închide o conexiune MS SQL

prototip : bool mssql_close ( [resource link_identifier] )

mssql_close() îchide o conexiune MS SQL asociată la idendificatorul soecificat .Daca nu se sepcifică nici un identificator se închide ultima conexiune decshisă .
Returnează TRUE în caz de succes sau FALSE în caz de eşec.De notat că , conexiunle non-persistente sunt automat închise în momentul încheierii executării scriptului în care au fost iniţiate.mssql¬_close() nu va închide conexiuni persistente genetare de mssql_pconnect().

Alegerea (selectarea) unei baze de date


Funcţia mssql_select_db - selectează o bază de date MS SQL

prototip : bool mssql_select_db ( string database_name [, resource link_identifier] )
exemplu: mssql_select_db('aisg')

Returnează TRUE în caz de succes sau FALSE în caz de eşec.
mssql_select_db() - selectează baza de date activă de pe serverul asociat cu identificatorul specificat.Dacă nu a fost specificat nici un identificator se va utiliza ultima conexiune deschisă.Orice apel mssql_query ulterior va fi făcut pe baza de date activată de mssql_select_db .
Interogarea bazei de date
Funcţia mssql_query - trimite către serverul MS SQL o interogare (query)
prototip : mixed mssql_query ( string query [, resource link_identifier [, int
batch_size]] )
exemplu : $query = "select * from polite where ..."
$result = mssql_query($query)

Returnează identificatorul rezultat în caz de succes , TRUE dacă nu a fost returnate nici un rând sau FALSE în caz de eroare.Identificatorul rezultat permite regăsirea ulterioară a rezlutatelor interogării.mssql_query() trimite o interogare la baza de date activa pe serverul asociat cu identificatorul specificat (link_identifier).Dacă nu se specifică nici un identificator se va utiliza ultima conexiune deschisă .
Funcţia mssql_bind - adaugă un parametru la o procedură stocată
prototip :
bool mssql_bind ( resource stmt, string param_name, mixed &var, int type [, int is_output [, int is_null [, int maxlen]]] )

Regăsirea rezultatelor unei interogări (query)
Pentru împărţirea în mai multe moduri a rezultatelor din identificatorul rezultat sunt disponibile mai multe funcţii .Identificatorul rezultat este cheia pentru accesarea a zero,una sau mai multe linii returnate de interogare.
Funcţia mssql_rows_affected returnează numărul de rânduri afectate de interogare.
exemplu: $num_restult = mssql_rows_affected($result)

Funcţia mssql_fetch_assoc - returnează rândul curent din setul de rezultate specificat prin result_id într-un tablou asociativ
prototip : array mssql_fetch_assoc ( resource result_id )
exemplu: $row = mssql_fetch_assoc ( $result )

Funcţia mssql_fetch_row - returnează rezultatele interogării într-un tablou enumerat .

prototip : array mssql_fetch_row ( resource result )
exemplu : $row = mssql_fetch_row($result)
Valorile atributelor vor fi trecute în fiecare valoare tablou $row[0], $row[1] ş.a.m.d.

Funcţia mssql_fetch_array returnează rezultatele interogării intr-un tablou asociativ , fiecare cheie fiind un nume de atribut iar fiecare valoare fiind valoarea corespunzătoare în tablou
prototip : array mssql_fetch_array ( resource result [, int result_type] )
exemplu : $row = mssql_fetch_array($result)
afişarea rezultatelor stocate în tabloul $row : echo $row['polita_id']
echo $row[ 'clinet_nume']


Funcţia mssql_fetch_object returnează rezultatele interogării ca un obiect ale cărui propietăţile corespund rândului rezultat.In acest caz datele vor fi accesate prin numele câmpurilor şi nu prin indici .

prototip : object mssql_fetch_object ( resource result )
exemplu : $row = mssql_fetch_object($result)
accesarea atributelor se face : $row->client_nume ; $row->polita_id ;

Funcţiile descrise mai sus aduc o linie întreagă odată.Mai există o abordare care presupine accesarea pe rând a fiecărui câmp folosind mssql_result()
Funcţia mssql_result - returnează câmpul specificat al liniei care se specifică de asemenea în cadrul funcţiei
prototip : string mssql_result ( resource result, int row, mixed field )
exemplu : $row = mssql_result ($result, $i, 'clinet_nume')

Numele câmpului poate se poate specifica sub forma nume_câmp ('client_nume') ; sub forma nume_tabela.nume_câmp ( 'client.client_nume') sau sub formă de indice (poziţia câmpului in linie).
Observaţii :
 nu trebuie combinată funcţia mssql_result cu funcţiile orientate spre linii
 funcţiile orientate spre linii sunt mult mai eficiente decăt funcţia mssql_result
Funcţia mssql_num_fields - returnează numărul câmpurilor dintr-un set de rezultate
prototip : int mssql_num_fields ( resource result)
exemplu : $nnf = mssql_num_fields ($result)


Funcţia mssql_next_result - mută pointerul pe următorl rezultat al interogării.

prototip : bool mssql_next_result ( resource result_id )
exemplu: $rezid = 2 ; mssql_next_result ( $rezid )

Când se transmit către server mai multe comenzi SQL sau se apelează o procedură stocată cu rezultate multiple, serverul va returna mai multe seturi de rezultate.Funcţia mssql_next_result verifică dacă mai sunt disponibile şi alte seturi de rezultate.Dacă există şi alte seturi de rezultate funcţia va elibera setul curent şi va pregăti returnarea liniilor din setul de rezultate următor.



Alte funcţii MS_SQL utile
Funcţia mssql_fetch_field - returnează un obiect care conţine informaţii despre câmpurile din setul de rezultate obţinut prin interogări .
prototip : object mssql_fetch_field ( resource result [, int field_offset] )
Propietătile obiectului sunt :
 name - numele unei coloane ; dacă coloana este rezultatul unei funcţii această propietate primeşte valoarea : compute#N
 column_source - numele tabelei de unde provine coloana
 mac_length - numărul maxin de coloane
 numeric - are valoarea 1 pentru câmpuri numerice
 type - tipul coloanei
Funcţia mssql_field_length - returnează lungimea unui câmp ( fie al câmpului specificat prin offset fie al câmpului curent dacă indicele offset lipseşte.
prototip : int mssql_field_length ( resource result [, int offset] )
Funcţia mssql_field_name - returnează numele unui câmp ( fie al câmpului
specificat prin offset fie al câmpului curent dacă indicele offset lipseşte.

prototip : int mssql_field_name ( resource result [, int offset] )
Funcţia mssql_field_type - returnează tipul unui câmp ( fie al câmpului
specificat prin offset fie al câmpului curent dacă indicele offset lipseşte.

prototip : int mssql_field_type ( resource result [, int offset] )
Funcţia mssql_data_seek - mută pointerul pe linia specificată prin row_number

prototip : bool mssql_data_seek ( resource result_identifier, int row_number )
-funcţia mută pointerul de linie din setul de rezultate specificat de result_identifier pe rândul specificat de row_number , numerotarea rândurilor incepând de la 0.
Funcţia mssql_free_result - eliberează memoria utilizată pentru stocarea rezultatelor.

prototip : bool mssql_free_result ( resource result )
Funcţia mssql_free_statement - eliberează memoria utilizată pentru stocarea comenzilor.
prototip : bool mssql_free_ statement ( resource statement )