Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

OOP programiranje spajanje sa bazom

[es] :: PHP :: PHP za početnike :: OOP programiranje spajanje sa bazom

[ Pregleda: 2111 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

BLACK_SWORD

Član broj: 212173
Poruke: 171
93.157.199.*

Sajt: www.artwebdizajn.com


+3 Profil

icon OOP programiranje spajanje sa bazom13.06.2011. u 19:41 - pre 155 meseci
Pozdrav!

Počeo sam da učim OOP.

Kreno sam da pravim jednu klasu preko koje ću se spajati na mysql bazu, napravio sam spajanje sa metode spajanje sa mysql serverom i odabir baze
Code:

<?php

class BazaPodataka
{
    public $server = 'localhost';
    public $korisnicko_ime = null;
    public $lozinka = null;
    public $ime_baze = null;

    public $db;

    function __construct() {}

    // Spajanje sa mysql serverom.
    public function spajanje_sa_serverom($server, $korisnicko_ime, $lozinka)
    {
        $this->server = $server;
        $this->korisnicko_ime = $korisnicko_ime;
        $this->lozinka = $lozinka;

        return $this->db = @mysql_connect($this->server, $this->korisnicko_ime, $this->lozinka)
        or die('Ne mogu se spojiti sa serverom!');
    }

    // Spajanje sa mysql bazom.
    public function spajanje_sa_bazom($baza)
    {
        $this->ime_baze = $baza;

        return mySQL_select_db($this->ime_baze, $this->db)
        or die('Nemogu se spojiti sa bazom!');
    }

    public function spajanje_prekini()
    {
        return mysql_close($this->db);
    }
}

?>

<?php
$s = new BazaPodataka();

// Spajanje sa severom.
$s->spajanje_sa_serverom('localhost', 'korisnicko_ime', 'lozinka');

// Odabir baze.
$s->spajanje_sa_bazom('baza');
?>


Šta mislite dali sam počeo dobro ovo raditi?

Hvala na odgovoru!
 
Odgovor na temu

VladaSu

Član broj: 31634
Poruke: 1099
*.dynamic.isp.telekom.rs.



+218 Profil

icon Re: OOP programiranje spajanje sa bazom13.06.2011. u 23:07 - pre 155 meseci
DB klasa ako hoces jednostavno bolje da ti je staticna (static).
Odmah pisi sve na engleskom.

Metode spajanje_sa_bazom i spajanje_sa_serverom imaju parametre koje prebacujes u public varijable klase.
Cemu (za sada) to prebacivanje kada se nigde drugde ne koriste?
Zasto su public te promenljive?

mysql_connect ne vraca db nego link koji kasnije mozes da korisis u vecini mysql naredbi u php-u.

Zanimljivo da si krenuo preko foruma iako ima dosta gotovih db. Nastavi... :)
[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
 
Odgovor na temu

BLACK_SWORD

Član broj: 212173
Poruke: 171
93.157.199.*

Sajt: www.artwebdizajn.com


+3 Profil

icon Re: OOP programiranje spajanje sa bazom14.06.2011. u 00:03 - pre 155 meseci
Dali je vako bolje?

sad sam stavio u konstruktor da se odmah spaja sa bazom i serverom
Code:

<?php

class database
{
    private $host = 'localhost';
    private $userName = null;
    private $password = null;
    private $databaseName = null;

    private $db;

    // Spajanje sa serverom.
    function __construct($host, $userName, $password, $databaseName)
    {
        $this->host = $host;
        $this->userName = $userName;
        $this->password = $password;
        $this->databaseName = $databaseName;

        $this->db = @mysql_connect($this->host, $this->userName, $this->password)
            or die('Ne mogu se spojiti sa serverom!');
        mysql_select_db($this->databaseName, $this->db)
            or die('Nemogu se spojiti sa bazom!');
    }

    // Automatski zatvara konekciju na kraju svega.
    public function __destruct() 
    {
        if(is_object($this->db))
        {
            mysql_close($this->db);
        }
    }
}

?>

 
Odgovor na temu

BLACK_SWORD

Član broj: 212173
Poruke: 171
93.157.199.*

Sajt: www.artwebdizajn.com


+3 Profil

icon Re: OOP programiranje spajanje sa bazom15.06.2011. u 20:11 - pre 155 meseci
evo vako sam napravio spajanje sa bazom
Code:

<?php

class database
{
    private $db;
    private $query_id;

    public function __construct($host, $userName, $password, $databaseName)
    {
        $this->db = @mysql_connect($host, $tuserName, $password);

        if(! $this->db)
        {

        }

        if(! mysql_select_db($databaseName, $this->db))
        {

        }
    }

    // Automatski zatvara konekciju na kraju svega.
    public function __destruct() 
    {
        if(is_object($this->db))
        {
            mysql_close($this->db);
        }
    }

    // Mysql upit.
    public function query($s)
    {
        $this->query_id = mysql_query($s, $this->db);

        if(! $this->query_id)
        {

        }

        return $this->query_id;
    }
}

?>


a dali mi neko može reći kako da napravim da upisujem greške u bazu dal da napravim posebnu klasu ?
 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
*.dynamic.sbb.rs.

Sajt: norway.dakipro.com


+190 Profil

icon Re: OOP programiranje spajanje sa bazom15.06.2011. u 20:23 - pre 155 meseci
Da upise gresku u bazu na koju nije mogao da se konektuje? :)
Po principu "kljuc je u konzervi"... ne moras posebnu klasu, ali def posebnu metodu. Zavisi koliko zelis da "razvodnjis" klasu, ja bi je za pocetak stavio samo u neku metodu koju ako nesto pukne u ->query()
 
Odgovor na temu

[es] :: PHP :: PHP za početnike :: OOP programiranje spajanje sa bazom

[ Pregleda: 2111 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.