Php i mysql: skripta za internet tehnologije
SKRIPTA IZ PREDMETA INTERNET TEHNOLOGIJE
PHP - MYSQL
SADRŽAJ
Kreiranje baze i tabela (naredba CREATE DATABASE i CREATE TABLE).............6
Ubacivanje podataka u bazu (naredba INSERT INTO).............................................7
Izmena postojećih podataka (naredba UPDATE)....................................................14
PHP I POVEZIVANJE SA DRUGIM BAZAMA PODATAKA..........................................18
2

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
Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.
Slični dokumenti