SKRIPTA IZ PREDMETA INTERNET TEHNOLOGIJE

PHP - MYSQL

background image

Relational   Data   Base   Management   Systems   (RDBMS),   odnosno   sistemi   za   upravljanje 
relacionim   bazama   podataka   su   se   u   praksi   pokazali   kao   najbolji   način   upravljanja 
podacima.

2 PHP MySQL

PHP podržava API-je za pristup svim poznatim bazama podataka. U ovoj skripti se obrađuje 
povezivanje PHP sa MySQL bazama podataka. MySQL je efikasan server za upravljanje 
bazama podataka. Predstavlja opensource rešenje sa odličnim performansama.

2.1

Konekcija na MySql server

Da bi se moglo upravljati podacima iz baze, neophodno je uspostaviti konekciju sa serverom 
na kojem se ta baza nalazi. Serveri se nalaze na mreži i njima se pristupa pomoću IP-a ili 
domene (hosta). Uz podatak o hostu servera, potrebni su korisničko ime i lozinka da bi se 
uspešno povezalo na server i komuniciralo sa njim. U PHP postoji ugrađena funkcija za 
povezivanje   sa   serverom  

mysql_

connect.   Funkcija   vraća   broj   koji   je   referenca   ka 

uspostavljenoj konekciji, ili false ukoliko konekcija nije uspela. Konekcija ostaje otovrena sve 
dok se ne pozove funkcija 

mysql_close

 ili dok se ne izvrši PHP skript.

U sledećoj tabeli su date neke od osnovnih funkcija za spajanje na MySQL server.

Naziv funkcije

Sintaksa 

Opis

mysql_connect

mysql_connect(ime   servera:port, 
korisničko   ime,   šifra   –   ukoliko 
postoji).

Povezuje PHP skriptu sa 
MySQL   bazom.   Ako   je 
baza   zaštićena   šifrom, 
šifra   se   mora   uneti   kao 
parameter. 

mysql_close

mysql_close   (naziv   promenljive 
kojoj   je   dodeljna   vrednost 
mysql_connect funkcije)

Zatvara   PHP   konekciju 
sa bazom.

mysql_query

mysql_query(“ upit koji se izvršava 
nad   MySQL   bazom“,   naziv 
promenljive   kojoj   je   dodeljena 
vrednost mysql_connection())

U okviru ove naredbe se 
može   koristiti   bilo   koji 
upit:   za   kreiranje   tabele, 
za   kreiranje   baze,   za 
popunjavanje

 

baze, 

ažuriranje baze, čitanje iz 
baze... 

mysql_error

mysql_error()

Izveštava o mysql grešci

mysql_select_db

mysql_select_db(“ime_baze”)

Bira   MySQL   bazu   nad 
kojom će vršiti upite

4

Primer 1

 : Spajanje na MySql server

Pomoću fajla „konekcija.php“ se vrši povezivanje sa serverom na kojem je smeštena baza

<?

php

if

 

(!

$db

=

mysql_connect

(

"localhost"

,

 

"root"

,

 

""

))

{

die

 

(

"<b>Spajanje na mysql server je bilo neuspešno</b>"

);

}

if

 

(!

mysql_select_db

(

"bazanovosti"

,

 

$db

))

{

die

 

(

"<b>Greška pri odabiru baze</b>"

);

}

?>

Ukoliko su MySql funkcijama dati tačne podaci rezultat skripte bi trebalo da bude prazna 
stranica.

Samo   spajanje   sa   serverom   se   obavlja   pomoću   mysql_connect   funkcije.   Funkciji   se 
prosleđuju tri argumenta. Prvi je host na kom se nalazi server. Ovde se može uneti IP ili 
hostname servera, ali skoro uvek se radi o alliasu localhost na IP 127.0.0.1 (barem kod 
većine komercijalnih hosting providera).  Drugi argument je korisničko ime pomoću koje se 
spaja,   a   treći   lozinka   za   tog   korisnika.   Ukoliko   su   svi   dati   podaci   tačni,   pa   je   mysql 
pristupačan i operacionalan funkcija će vratiti „spoj“ sa serverom. Ako je neka od informacija 
netačna ili se nešto desilo sa samim MySql serverom funkcija vraća false.

Još jedna vrlo bitna stvar je proveravati uspeh operacije spajanja. Naime, skoro uvek čitava 
poslovna logika aplikacije zahteva uspešnu konekciju na server.
 
Sledeći korak pri spajanju sa MySql serveom je odabir baze. Mysql_select_db funkcija kao 
prvi argument dobija ime baze koja se koristi, a kao drugi vezu tj spoj na MySql server gde 
se ta baza nalazi. Pošto je spoj (rezultat mysql_connect funkcije) ubačen u varijablu $db ona 
je prosleđena na drugo mesto. Ovo nije obavezni argument, tj. mogao je biti izostavljen pa 
mysql_select_db funkciju pozvati u mysql_select_db("baza") obliku i sve bi i dalje radilo. 
Radi se o tome da PHP automatski pamti poslednju otvorenu vezu na MySql server pa je 
uvek po defaultu koristi u svim mysql funkcijama gdje je taj argument izostavljen (recimo u 
funkciji koja izvršava neki SQL upit na serveru). No, ukoliko se u skripti spaja na dva različita 
servera,  ili  ostvaruju  dve  zasebne  veze na isti  server  i  ne koristi  taj  argument  u  MySql 
funkcijama PHP će uvek koristiti onu vezu koja je poslednja otvorena. Tako da se u toj 
situaciiji mora prosleđivati ona varijabla koja u sebi sadrži onaj spoj na kom treba izvršiti 
neka operaciju. 

U sledećoj tabeli dat je kratak prikaz SQL upita (

SQL query

) o kojima će biti reči u nastavku 

teksta:

Sintaksa upita

Funkcija 

CREATE DATABASE

 ime_baze

Kreira novu bazu u MySQL RDBMS – u

CREATE TABLE

 ime_tabele (

Ime_kolone1 tip podataka (velicina),
Ime_kolone2 tip podataka (velicina),
Ime_kolone3 tip podataka (velicina)
………….
)

Kreira tabelu u okviru selektovane baze 

podataka. Navode se imena svih kolona i 

tipovi podataka koje će podržavati ove 

kolone. Za tipove podataka u MySQL – u, 

pogledati reference za MySQL.

INSERT   INTO

  ime_tabele   (ime_kolone1, 

ime_kolone2,   ime_kolone3)   VALUES 
(“vrednost_za_kolonu1”,

 

“vrednost_za 

Ubacuje konkretne vrednosti u kreiranu 

tabelu u MySQL bazi podataka.

5

Želiš da pročitaš svih 18 strana?

Prijavi se i preuzmi ceo dokument.

Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.

Slični dokumenti