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.