将PDO对象发送到类

时间:2013-02-24 19:48:10

标签: php database pdo connection

我是新来的...... 我在班上使用PDO对象时遇到问题... 这是代码: 创建PDO连接:

<?php 
    try {
        $konekcija = new PDO(DSN, USERNAME, PASSWORD);
        $konekcija->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    } catch (PDOException $e) {
        echo "Error connecting to database: " . $e->getMessage();
        die();
    }
?>

类别:

class Nastavnik
{
    private $zvanje = "";
    private $konekcija;

    public function __construct($konekcija){
        $this->konekcija = $konekcija;
    }

    public function registracija($korIme, $lozinka, $ime, $prezime, $telefon, $email, $zvanje, $tipKorisnika){
        $upitRegistracija = "INSERT INTO projekat_vst.korisnici (kor_ime, lozinka, ime, prezime, telefon, email, zvanje, tip_korisnika) 
                                                            VALUES (:korIme, :lozinka, :ime, :prezime, :telefon, :email, :zvanje, :tip_korisnika);";
        try {
            $stmt = $konekcija->prepare($upitRegistracija);
            $stmt->execute($korIme, $lozinka, $ime, $prezime, $telefon, $email, $zvanje, $tipKorisnika);
            return 1;
        } catch (PDOException $e) {
            echo "Greška pri kreiranju korisnika." . $e->getMessage();
            return 0;
        }
    }


}

这是创建新类的代码:

$korisnik = new Nastavnik($konekcija);

当我尝试创建类Nastavnik的新实例时,我收到此消息:

Notice: Undefined variable: konekcija in D:\php_dev\xampp\htdocs\projekatVST\includes\klasaNastavnik.php on line 24

我不知道我在哪里弄错了... 谢谢你的帮忙! :)

2 个答案:

答案 0 :(得分:2)

不是$konekcija而是$this->konekcija

答案 1 :(得分:2)

你遗漏了$this

$stmt = $konekcija->prepare($upitRegistracija);

应该是:

$stmt = $this->konekcija->prepare($upitRegistracija);