0

私はここにいるのは初めてです... クラスで 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

どこが間違っているのかわかりません...助けてくれてありがとう!:)

4

2 に答える 2

2

そうではありません$konekcija$this->konekcija

于 2013-02-24T19:50:40.350 に答える
2

あなたが行方不明$thisです:

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

する必要があります:

$stmt = $this->konekcija->prepare($upitRegistracija);
于 2013-02-24T19:51:11.317 に答える