lostyazilim

Mysql bağlantısında Class yapısında yaptığım hata?

17 Mesajlar 1.835 Okunma
lstbozum
wmaraci reklam

ismail03 ismail03 WM Aracı Kullanıcı
  • Üyelik 28.11.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Ameliyathane Hemşiresi
  • Konum Afyon
  • Ad Soyad I** Ç**
  • Mesajlar 2633
  • Beğeniler 344 / 487
  • Ticaret 12, (%100)

class baglan
{
private $sunucu = "localhost";
private $veritabani = "uye";
private $kullanici = "root";
private $sifre = "";
public $vt;

public function __construct()
{
try
{
$this->vt = new PDO("mysql:host=$this->sunucu;dbname=$this->veritabani;","$this->kullanici","");
}
catch(PDOException $e)
{
echo "Hata ".$e->getMessage();
}
}
}
class siteayar extends baglan
{
public $sitead;
public $sitelogo;
public function ayarlar()
{
$verial=$this->vt->prepare("select * from siteayar where sira=:siral order by sira asc limit 1");
$verial->execute(array("siral"=>1));
$dongu=$verial->fetch(PDO::FETCH_ASSOC);
$this->sitelogo=$dongu["logo"];
return (array("logo"=>$this->sitelogo));
}
}




$ayar= new siteayar;
echo $ayar->sitelogo;

hata çıktısı


Warning: PDO::__construct(): in C:\xampp\htdocs\htmltasarim\mac.php on line 14

Fatal error: in C:\xampp\htdocs\htmltasarim\mac.php on line 14


hatam nerede :( anlamadım sınıfları yeni öğreniyorum :)
 

 

wmaraci
reklam

Selmankocahal Selmankocahal WM Aracı Kullanıcı
  • Üyelik 26.08.2014
  • Yaş/Cinsiyet 44 / E
  • Meslek Serbest
  • Konum Karabük
  • Ad Soyad S** K**
  • Mesajlar 67
  • Beğeniler 24 / 5
  • Ticaret 0, (%0)
Kullanımın yanlış OOP'da tüm işlemlerin fonksiyon içerisinde olmalı.


class Baglan {

private $sunucu = "locahost";
private $veritabani = "uye";
private $kullanici = "root";
private $sifre = "";

public function baglanti() {
try {
$vt = new PDO('mysql:host='.$this->sunucu.';dbname='.$this->veritabani, $this->kullanici, $this->sifre);
}catch(PDOExeption $e) {
echo "Hata :" . $e->getMessage();
}
}

class siteayar extends Baglan {
public $sitead;
public $sitelogo;

public function ayarlar() {
$verial=$vt->prepare("select * from siteayar where sira=:siral order by sira asc limit 1");
$verial->("sira"=>1);
$dongu=$verial->fetch(PDO::FETCH_ASSOC);
$this->sitelogo=$dongu["logo"];
}
}
}

?>


Kullanım şekli ise



$vtbaglan = new Baglan();
$sonuc = $vtbaglan->baglanti();
OzanP

kişi bu mesajı beğendi.

ismail03 ismail03 WM Aracı Kullanıcı
  • Üyelik 28.11.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Ameliyathane Hemşiresi
  • Konum Afyon
  • Ad Soyad I** Ç**
  • Mesajlar 2633
  • Beğeniler 344 / 487
  • Ticaret 12, (%100)
Selmankocahal Hocam şimdi tek hata fonkisyon içinde tanımlamamam mı :)
 

 

Selmankocahal Selmankocahal WM Aracı Kullanıcı
  • Üyelik 26.08.2014
  • Yaş/Cinsiyet 44 / E
  • Meslek Serbest
  • Konum Karabük
  • Ad Soyad S** K**
  • Mesajlar 67
  • Beğeniler 24 / 5
  • Ticaret 0, (%0)
Evet tek hatan o.
 

 

wmaraci
wmaraci

ismail03 ismail03 WM Aracı Kullanıcı
  • Üyelik 28.11.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Ameliyathane Hemşiresi
  • Konum Afyon
  • Ad Soyad I** Ç**
  • Mesajlar 2633
  • Beğeniler 344 / 487
  • Ticaret 12, (%100)
Selmankocahal hocam dediiniz gibi yaptım hata var :(
veritabanı bağlantısı yaptığımız fonkiyonu sınıf içinde tanıtmamız gerekiyor mu

Warning: PDO::__construct(): in C:\xampp\htdocs\htmltasarim\mac.php on line 13

Fatal error: in C:\xampp\htdocs\htmltasarim\mac.php on line 13
 

 

OzanP OzanP WM Aracı Kullanıcı
  • Üyelik 04.02.2016
  • Yaş/Cinsiyet 35 / E
  • Meslek WM
  • Konum Ankara
  • Ad Soyad O** P**
  • Mesajlar 310
  • Beğeniler 215 / 100
  • Ticaret 9, (%100)
Kodda yazım hatası var. İlk class kapatılmamış. Netbeans gibi bir visual editör kullanırsanız daha rahat görürsünüz syntax hatalarını.
 

 

ingilizceogrenmeliyim.com

ismail03 ismail03 WM Aracı Kullanıcı
  • Üyelik 28.11.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Ameliyathane Hemşiresi
  • Konum Afyon
  • Ad Soyad I** Ç**
  • Mesajlar 2633
  • Beğeniler 344 / 487
  • Ticaret 12, (%100)
OzanP hocam kod bloğum bu :( kusura bakmayın ilk yazdığım kod bloğunda aceleden hatalarım varmış :) dbname yerine database :D yazmışım

class baglan
{
private $sunucu = "locahost";
private $veritabani = "uye";
private $kullanici = "root";
private $sifre = "";

function vtbaglan ()
{
try
{
$vt = new PDO('mysql:host='.$this->sunucu.';dbname='.$this->veritabani, $this->kullanici, $this->sifre);
echo "Başarılı";
}
catch(PDOExeption $baglantihatasi)
{
echo "Mysql Bağlantısı kurulamadı hata Detayı".$baglantihatasi->getMessage();
}
}
}
class siteayar extends baglan
{
public $sitead;
public $sitelogo;
public function ayarlar()
{
$verial=$vt->prepare("select * from siteayar where sira=:siral order by sira asc limit 1");
$verial->execute(array("siral"=>1));
$dongu=$verial->fetch(PDO::FETCH_ASSOC);
$this->sitelogo=$dongu["logo"];
}
}




$ayar= new siteayar;
echo $ayar->vtbaglan();
 

 

OzanP OzanP WM Aracı Kullanıcı
  • Üyelik 04.02.2016
  • Yaş/Cinsiyet 35 / E
  • Meslek WM
  • Konum Ankara
  • Ad Soyad O** P**
  • Mesajlar 310
  • Beğeniler 215 / 100
  • Ticaret 9, (%100)
Şu an bir syntax hatası görünmüyor.
 

 

ingilizceogrenmeliyim.com

ismail03 ismail03 WM Aracı Kullanıcı
  • Üyelik 28.11.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Ameliyathane Hemşiresi
  • Konum Afyon
  • Ad Soyad I** Ç**
  • Mesajlar 2633
  • Beğeniler 344 / 487
  • Ticaret 12, (%100)
OzanP bende fonkisyon işlemiyor :( _

function __construct()
{

try
{
$this->vt = new PDO('mysql:host='.$this->sunucu.';dbname='.$this->veritabani, $this->kullanici, $this->sifre);
}
catch(PDOExeption $e)
{
echo "Hata ".$e->getMessage();
}
}


bu şekil tanımladım hala __construct hatası var
 

 

Selmankocahal Selmankocahal WM Aracı Kullanıcı
  • Üyelik 26.08.2014
  • Yaş/Cinsiyet 44 / E
  • Meslek Serbest
  • Konum Karabük
  • Ad Soyad S** K**
  • Mesajlar 67
  • Beğeniler 24 / 5
  • Ticaret 0, (%0)
OzanP function vtbaglan() yerine public function vtbaglan() şeklinde değiştirin

public function dosya dışında her yerden erişmenizi sağlıyor.
 

 

wmaraci
Konuyu toplam 2 kişi okuyor. (0 kullanıcı ve 2 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al