R10.net

R10.net (https://www.r10.net/index.php)
-   PHP (https://www.r10.net/php/)
-   -   Oop Olarak Bağlantı Sorunu (https://www.r10.net/php/347246-oop-olarak-baglanti-sorunu.html)

CodErode 31-03-2009 17:50:08

Oop Olarak Bağlantı Sorunu
 
Malumunuz artık oop'a kafa taktım. Ufak bir mysql bağlantısı kontrol ediyorum ama nedense kodlarım çalışmıyor.

Her ne kadar dikkat ettiysem de bir türlü kodu çalıştırımadım gitti. Oop olmadan normal php kodlarım ama ne bilim oop'a karşı bir ilgim var :D

Neyse fazla uzatmadan kodlarımı vermek istiyorum. Siz bir bakın şu kodlara neresinde hata var.. :(
İlk olarak class.php dosyasını veriyorum..
<?php
class kayit
{   
    private $dbserver= "localhost";
    private $dbusername= "root";
    private $dbpass= "123456";
    private $dbtable= "deneme";

    function kayityap($deger1,$deger2, $deger3)
    {
        if (isset($deger1) AND isset($deger2) AND isset($deger3))
        {
            $dbconnect= mysql_pconnect($this->dbserver, $this->dbusername, $this->dbpass);
            if ($dbconnect)
            {
                echo "MySQL Bağlantısı Başarıyla Tamamlanmıştır.<br>";
               
                $select_db= mysql_select_db($this->dbtable);
               
                if ($select_db)
                {
                    echo "MySQL  Bağlantısı Ardından Başarıyla Tablo Seçimi Yapılmıştır.<br>";
                }
               
               
            } else {
                echo "Tüm İşlemler Başarısız.<br>";               
            }
           
               
            }           
        }
       
}
?>
Şimdi de index.php kodlarını veriyorum.. Burada class.php adlı dosyayı çağırıp kontrol ediyorum.

<?php
require_once('clas.php');

$ilk= "ilk";
$orta= "orta";
$son= "son";

$yeni_islem= new kayit();
$yeni_islem->kayityap($ilk, $orta, $son);
?>Evet arkadaşlar hastamız budur... Reçetesini biriniz yazıverin.. :D

Şimdiden teşekkürler.

sdemirkeser 31-03-2009 17:57:16

ben kodda mysql_query göremedim

CodErode 31-03-2009 18:00:07

Alıntı:

sdemirkeser Nickli Üyeden Alıntı (Mesaj 1058406676)
ben kodda mysql_query göremedim

Bağlantı sağlanırsa 1 yani true döndürmeyecek mi? Oop olmadan yazınca bağlantı onayı veriyor.

Yani hocam sonuçta veri girişi yapmıyorum ama yinede dediğin gibi denedim aynı..

Beyaz bir sayfa..

taylanaktepe 31-03-2009 18:05:14

........
 
$select_db= mysql_select_db($this->dbtable, $dbconnect);

CodErode 31-03-2009 18:09:31

require_once('clas.php');Allah kahretmesin arkadaşlar koca hataya bakarmısınız? :cry

class.php yazcağıma clas.php yazmışım. Düzeltince sorun düzeldi. Hepinize teşekkür ederim birden gözüme çarptı.. :D

Özellikle Süleyman hocam senin niye gözüne çarpmadı bu sen iyi didiklerdin.. :D

Herkese teşekkür ederim.

sdemirkeser 31-03-2009 18:10:31

Alıntı:

CodErode Nickli Üyeden Alıntı (Mesaj 1058406691)
Beyaz bir sayfa..

sevgili arkadaşım bana kaldin kadar temiz bu sayfayı ayırdığın için teşekkür ederim :)

üstad o zaman hata gösterimi kapali ama hata mesajını alamiyorsunuz


Warning: mysql_pconnect() [function.mysql-pconnect]: Access denied for user 'root'@'localhost' (using password: YES) in D:\htdocs\clas.php on line 13
Tüm İşlemler Başarısız.

bkz display_errors

<kd> gözümdan kaçmaz olur mu. php.iniden hata gösterimini açda rahat et :D </kd>

CodErode 31-03-2009 18:12:08

Valla hata gösterimini bilmiyorumda deliye döndüm. Hata vermemesi de garip bir mevzu.. :D

Bu arada senin bu son zamanlardaki bakınız kalıbına hastayım :D

sdemirkeser 31-03-2009 18:16:08

Alıntı:

CodErode Nickli Üyeden Alıntı (Mesaj 1058406760)
Valla hata gösterimini bilmiyorumda deliye döndüm. Hata vermemesi de garip bir mevzu.. :D
Bu arada senin bu son zamanlardaki bakınız kalıbına hastayım :D

Allah sağlık sıhhihat versin.

bugünde ilginç birşey oldu.muhterem bi arkadaş böyle programlama.tv deki php egitimlerinin linkini verdim diye -rep vermiş adinida yazmamis.

CodErode 31-03-2009 18:18:48

Sağolasın hocam :D Ama o hastalık mevzusu ayrı.. Ben onun hastasıyım.. Fırsat buldukça yazarlık görevimi yerine getirmeye çalışcam.. :D

-rep mevzusuna gelince sen repi takmayan adamsın.. Boşveeeerrr :D

- yi veren düşünsün :D

uysal_rockci 31-03-2009 21:24:34

Alıntı:

sdemirkeser Nickli Üyeden Alıntı (Mesaj 1058406784)
Allah sağlık sıhhihat versin.

bugünde ilginç birşey oldu.muhterem bi arkadaş böyle programlama.tv deki php egitimlerinin linkini verdim diye -rep vermiş adinida yazmamis.

böyle fantazi yapan çok aldırma hocam sen :)

YGuzel 31-03-2009 21:48:38

Alıntı:

sdemirkeser Nickli Üyeden Alıntı (Mesaj 1058406784)
Allah sağlık sıhhihat versin.

bugünde ilginç birşey oldu.muhterem bi arkadaş böyle programlama.tv deki php egitimlerinin linkini verdim diye -rep vermiş adinida yazmamis.

:confused: abi takma öyLeLeri çok bana da "L" harfLerini büyük yazıyosun diye vermiş biri :)

sdemirkeser 31-03-2009 22:46:26

aman ne takcam zaten :) beyinsiz demek istemiyorum, ama böyle davranislar öyle isimlendirilse gerek

wm_xfreex 31-03-2009 23:18:28

Yalnız benim anlamadığım burada oop mantığının yanlış oturması
OOP'de class içinde yine mysql Procedural style kullanılırsa bir anlamı olmuyor
Yani özel kodlamalarda oop kullanılmalı
Php zaten bize hazır fonksiyonlar için class lar sunuyor
Örneğin gerçek bir oop mysql bağlantısı şöyle olur.
<?php
$baglanti = new mysqli("localhost", "kullanici", "sifre", "db_adi");

if (mysqli_connect_errno()) {
  echo "Bağlantı sağlanamadı.";
  exit();
}


/* Bağlantıyı kapamak içinse */
$mysqli->close();  // Bağlantıyı sonlandırmak için.
?>

wm_xfreex 31-03-2009 23:19:24

Ooooop :)
 
Aynı anda iki mesaj gitti.
Silinirse sevinirim.

sdemirkeser 31-03-2009 23:36:35

Alıntı:

wm_xfreex Nickli Üyeden Alıntı (Mesaj 1058408742)
Yalnız benim anlamadığım burada oop mantığının yanlış oturması

oop daha iyidir diye bir kaide kesinlikle yok. sadece kod kullanabilirliğini çok iyi derecede arttırır. modüler çalışmaya olanak sağlar. ondna iyi birşeydir

YGuzel 01-04-2009 11:33:50

<?
class baglanti{
    private $dbhost = "localhost"; // Host
    private $dbadi = "yeni"; // Database Adı
    private $dbkull = "root"; // Database Kullanıcı
    private $dbsif = "root"; // Database Sifre
    function __construct(){
        mysql_connect($this->dbhost,$this->dbkull,$this->dbsif) or die("Baglanti Kurulamadi!");
        mysql_select_db($this->dbadi) or die("Database secilemedi!");
    }
    function __destruct(){
        mysql_close();
    }
}
?>basit bir bağLantı cLassı :)

sdemirkeser 01-04-2009 12:01:40

ben olsam şöyle yazardım
<?
class baglanti{
    private $dbHost = "localhost"; // Host
    private $dbAdi = "yeni"; // Database Adı
    private $dbKull = "root"; // Database Kullanıcı
    private $dbSif = "root"; // Database Sifre
    function __construct($dbHost='',$dbAdi='',$dbKull='',$dbSif=''){
        if($dbHost!=''){
                $this->dbhost=$dbHost;
        }
        if($dbAdi!=''){
                $this->dbAdi=$dbAdi;
        }
        if($dbKull!=''){
                $this->dbKull=$dbKull;
        }
        if($dbSif!=''){
                $this->dbSif=$dbSif;
        }
        mysql_connect($this->dbHost,$this->dbKull,$this->dbSif) or die("Baglanti Kurulamadi!");
        mysql_select_db($this->dbadi) or die("Database secilemedi!");
    }
    function __destruct(){
        mysql_close();
    }
    function setDbHost($dbHost){
          $this->dbHost = $dbHost;
    }
    function getDbHost(){
          return $this->dbHost;
    }

    function setDbAdi ($dbAdi){
          $this->dbAdi = $dbAdi;
    }
    function getDbAdi(){
          return $this->dbAdi;
    }

    function setDbKull($dbKull){
          $this->dbKull = $dbKull;
    }
    function getDbKull(){
          return $this->dbKull;
    }

    function setDbSif($dbSif){
          $this->dbSif = $dbSif;
    }
    function getDbSif (){
          return $this->dbSif;
    }
}
?>getter / setteri da var :D

arada küçük farklılıklar göreceksiniz ama ince nüanslar var

YGuzel 02-04-2009 00:15:39

:) sağoL abi benimki acemi işi işte :D


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 02:36:47.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.