PHP Lekcije - lekcija 3.1 - Rad sa MySQL bazom podataka. Kreiranje tabela.
U prethodnom času smo pravili konekciju sa bazom podataka. U ovom času ćemo kreirati tabele za naš budući sajt. Prvo ćemo dodati ime baze podataka u klasu simpleCMS:
class simpleCMS { // klasa za upravljanje
public $host = 'localhost'; // promenljive za rad sa bazom
public $username = 'root';
public $password = '';
public $db = 'testDB';
Sada treba da napravimo ovu bazu podataka na našem MySQL serveru. Ako koristite Denwer, za to možete koristiti phpMyAdmin koji dolazi uz Denwer. Idite na ovu adresu u phpMyAdmin i napravite novu bazu:

Kada smo podesili parametre i napravili novu bazu, izmenimo konekciju ka MySQL serveru u PHP-u. Izmenićemo metod za konekciju:
public function connectDB() {
$link = mysql_connect($this->host, $this->username, $this->password); // povezujemo se sa MySQL serverom
if (!$link) {
die('Greška u konekciji: ' . mysql_error());
}
mysql_select_db($this->db) or die("Ne mogu da nađem bazu. " . mysql_error()); // biramo bazu
return $link;
}
Ako je sve u redu, ne treba da se pojave nikakve poruke. Sada ćemo napraviti tabelu. Dodajmo metod buildDB() koji ćemo pozivati u okviru connectDB() metode klase.
public function connectDB() {
$link = mysql_connect($this->host, $this->username, $this->password); // povezivanje sa MySQL serverom
if (!$link) {
die('Greška u konekciji: ' . mysql_error());
}
mysql_select_db($this->db) or die("Ne mogu da nađem bazu. " . mysql_error()); // biranje baze
$this->buildDB(); // pozivanje metode unutar druge metode iste klase
return $link;
}
public function buildDB(){
}
Sada pri svakom povezivanju u buildDB() metodi možemo proveriti da li su tabele ispravno kreirane. Poslaćemo upit bazi:
public function buildDB(){
$sql = 'CREATE TABLE IF NOT EXISTS messages (
title VARCHAR(150),
bodytext TEXT,
created VARCHAR(100)
)';
return mysql_query($sql);
}
Objasnimo kako ovo funkcioniše.
Najpre upit čuvamo u string promenljivoj $sql, koju potom prosleđujemo funkciji mysql_query koja šalje upit bazi podataka.
SQL upit počinje sa CREATE TABLE - kreiranje tabele. Proveravamo da li tabela messages već postoji ili ne.
U zagradama nakon imena tabele navodimo polja koja će biti kreirana. Mi imamo polja title, bodytext i created. Nakon imena polja piše tip podataka. VARCHAR(150) znači niz karaktera do 150 dužine, TEXT je tekstualno polje koje može čuvati duže tekstove.
Sada, ako sačuvate fajl simpleCMS.php i pokrenete index.php, kreiraćete tabelu messages.
Koristićemo ovu tabelu u narednom času. Ako imate pitanja ili greške, ostavite ih u komentarima.