我是新来的...... 我在班上使用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
我不知道我在哪里弄错了... 谢谢你的帮忙! :)
答案 0 :(得分:2)
不是$konekcija
而是$this->konekcija
。
答案 1 :(得分:2)
你遗漏了$this
:
$stmt = $konekcija->prepare($upitRegistracija);
应该是:
$stmt = $this->konekcija->prepare($upitRegistracija);