Povezivanje na bazu podataka - demonstracija više načina ....
Da bismo mogli da se bavimo čitanjem, upisom i obradom podataka iz određene baze podataka, moramo prvo uspostaviti vezu sa serverom.
Povezivanje sa serverom
Pošto koristimo XAMPP i MySql, kreiraćemo folder unutar xampp/htdocs pod nazivom baza1, i u njemu fajl konekcija1.php:
(... Prvo kreirajte folder baza1 unutar htdocs foldera, a onda ga otvorite pomoću VS Code i u VS Code-u kreirajte taj fajl .... )
Sledeći šablon je na STARI NAČIN, BEZ OBJEKATA:
<?php $server_naziv = "localhost"; $server_korisnicko_ime = "root"; $server_lozinka = "";
$veza = mysqli_connect($server_naziv, $server_korisnicko_ime, $server_lozinka);
if ($veza) { echo "Konekcija Uspešna"; } else { echo "Konekcija NEuspešna"; } ?>
Ako server radi, i ako je konekcija uspešna, trebalo bi i da to vidimo na ekranu sa odgovarajćom porukom.
*********************************************
Na NOVI NAČIN, koji ćemo koristiti u daljem radu KORISTIMO OBJEKTE:
<?php
$server = "localhost";
$korisnik = "root";
$lozinka = "";
$konekcija = new mysqli($server, $korisnik, $lozinka);
if ($konekcija->connect_error) {
die("Konekcija nije uspela: " . $konekcija->connect_error);
}
else
{
echo "Konekcija Uspešna";
}
?>
Direktno povezivanje sa bazom podataka na serveru
U cilju vežbe kreiraćemo i drugi fajl: konekcija2.php
Koristićemo i dalje šablon, ali ćemo sada da dodamo još ponešto:
- ovaj put imamo kraće nazive za promenljive u php-u ,
- promenljivu u koju upisujemo naziv baze kojoj se pristupa,
- i ako konekcija nije uspešna prekidamo skriptu (izlazimo iz nje) uz odgovarajuću poruku:
<?php
$server = "localhost";
$username = "root";
$password = "";
$database = "world"; // ili koristite neku drugu bazu
$conn = new mysqli($server, $username, $password, $database);
if ($conn->connect_error) {
die("Konekcija nije uspela: " . $conn->connect_error);
}
else
{
echo "Konekcija Uspešna";
}
?>
Praktični saveti za dalji rad:
U praksi nema potrebe da korisnika svaki put obaveštavamo o tome da se skripta uspešno povezala sa bazom - jer se to podrazumeva (i ne predstavlja korisno obaveštenje).
Skriptu ćemo prepraviti tako da poruka bude ispisana samo ako dođe do greške pri povezivanju ( da bi se videlo zašto je do greške došlo).
Pošto ćemo se ovoga puta povezivati direktno sa bazom, kreiraćemo novi fajl sa nazivom konekcija.php i u njega uneti sledeći kod:
<?php
$server = "localhost";
$username = "root";
$password = "";
$database = "world";
$conn = new mysqli($server, $username, $password, $database);
if ($conn->connect_error) {
die("Konekcija na bazu NIJE USPELA: " . $conn->connect_error);
}
?>
Ako u našem projektu koristimo konekciju ka nekoj bazi podataka, najbolje bi bilo da ovaj kod smestimo u fajl "konekcija.php", pa da ga sačuvamo u root-u projekta, kako bi bio dostupan za sve ostale fajlove u njemu.
Ako se naši parametri za pristup razlikuju, naravno da ćemo ih promeniti. Takođe je bitno da je ime baze tačno.
Na kraju treba da testiramo konekciju tako što ćemo u pretraživaču ukucati putanju do nje:
😀 Sada možemo da u daljem radu ovu skriptu koristimo i u drugim skriptama 😀
Zadatak:
- Kreirati folder u kojem će da se nalaze svi budući zadaci (unutar xampp/htdocs - npr webPera)
- U tom folderu kreirati folder zadatak1
- U njemu kreirati konekcija.php fajl za konekciju na bazu
<?php
$server = "localhost";
$user = "root";
$pass = "";
$conn = new mysqli($server, $username, $password, $database);
if ($conn->connect_error) {
die("Konekcija na bazu NIJE USPELA: " . $conn->connect_error);
}
?>
- Zatim kreirati fajl index.php i u njemu na samom početku uključiti konekciju:
<?php
require_once("konekcija.php");
$upit = "CREATE DATABASE kikiriki";
$conn->query($upit);
?>
zatim dodati html kod (koristiti ! za ubacivanje šablona)
- Na kraju ubacite jednu liniju sa naslovom: "Kreiranje jedne baze"
- Ako u browseru kucate putanju do foldera zadatak1 trebalo bi da se prikaže web stranica sa samo jednom linijom - naslovom, ako je sve u redu.
U pozadini se već kreirala baza, što možete da proverite u drugom tabu kucajući link ka localhost/phpmyadmin