• 12-01-2014, 01:34:17
    #1
    dev
    Kurumsal Üye
    Localhost'da Çalışırken Sıknıtı Yoktu Fakat Hostnig e Dosyaları Atınca Hata Vermeye Başladı

    Verdiği Hata :

    Fatal error: Call to undefined method DB::prepare() in /home/xxx/public_html/conf.php on line 69
    69. Satır

    self::$last_stmt = self::prepare($query);
    Localde Hiç Bir Hata Vermiyordu Sunucuda Verdi.
  • 12-01-2014, 10:15:43
    #2
    mysql pdo drivers kurulu değildir sunucunuzda, cpanelde apacheyi tekrar derleyerek kurabilirsiniz, başka bir panel kullanıyorsanız söyleyin ona göre nasıl kuracağınızı yazalım.

    eğer paylaşımlı hosting kullanıyorsanız hizmet aldığınız yere başvurmalısınız.
  • 12-01-2014, 11:48:37
    #3
    dev
    Kurumsal Üye
    victories adlı üyeden alıntı: mesajı görüntüle
    mysql pdo drivers kurulu değildir sunucunuzda, cpanelde apacheyi tekrar derleyerek kurabilirsiniz, başka bir panel kullanıyorsanız söyleyin ona göre nasıl kuracağınızı yazalım.

    eğer paylaşımlı hosting kullanıyorsanız hizmet aldığınız yere başvurmalısınız.
    Paylaşımlı Hostnig ve Driver Kurulu Olmasa Hiç Bağlantı Yapmaması Lazım Değil Mi ? İlgili Satırı Class'tan Çıkardığım Zaman Sorunsuz Çalışıyor

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 11:48:37 -->-> Daha önceki mesaj 11:06:13 --

    pdo_mysql

    PDO Driver for MySQL, client library version 5.0.91
  • 12-01-2014, 13:21:54
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    localdeki MySQL, PDO, PDO_MySQL sürümleri ve remote serverdaki sürümleri karşılaştırıp eşitlemeyi deneyebilir misiniz?
  • 12-01-2014, 13:28:13
    #5
    dev
    Kurumsal Üye
    saintx adlı üyeden alıntı: mesajı görüntüle
    localdeki MySQL, PDO, PDO_MySQL sürümleri ve remote serverdaki sürümleri karşılaştırıp eşitlemeyi deneyebilir misiniz?
    Localde

    pdo_mysql
    
    PDO Driver for MySQL	enabled
    Client API version	mysqlnd 5.0.8-dev - 20102224 - $Revision: 310735 $
  • 12-01-2014, 13:47:49
    #6
    PDO'ya extend olduysanız şu şekilde bi' deneyebilir misiniz?

    self::$last_stmt = parent::prepare($query);
  • 13-01-2014, 01:03:34
    #7
    dev
    Kurumsal Üye
    saintx adlı üyeden alıntı: mesajı görüntüle
    PDO'ya extend olduysanız şu şekilde bi' deneyebilir misiniz?

    self::$last_stmt = parent::prepare($query);
    Malesef Olmadı Hata Veriyor
  • 13-01-2014, 01:12:08
    #8
    Üstad ben sorunun pdo sürücüsünde değil de sizin sınıfınızda olduğu kanısındayım. Local ve hosting üzerinde kurulu sürümler farklı olabilir dolayısıyla değişiklikler olmuş olabilir onu bir kontrol eder misiniz. Ayrıca sınıfın tamamını da yazarsanız, belki oradan yola çıkabiliriz.
  • 13-01-2014, 12:41:47
    #9
    dev
    Kurumsal Üye
    NepenTheS adlı üyeden alıntı: mesajı görüntüle
    Üstad ben sorunun pdo sürücüsünde değil de sizin sınıfınızda olduğu kanısındayım. Local ve hosting üzerinde kurulu sürümler farklı olabilir dolayısıyla değişiklikler olmuş olabilir onu bir kontrol eder misiniz. Ayrıca sınıfın tamamını da yazarsanız, belki oradan yola çıkabiliriz.

    phpr.org dan Aldığım Class
    <?php
    /*
    * Static PDO MySQL DB Class
    * 
    * Sadece ihtiyaç duyulduğunda MySQL
    * bağlantısı yapan ve rahat bir şekilde
    * kullanabileceğiniz bir static PDO sınıfı.
    *
    */
    
    class DB {
    
    	/*
    	* PDO sınıf örneğinin barınacağı değişken
    	*/
    	static $pdo = null;
    	
    	/*
    	* Kullanacağımız veritabanı karakter seti
    	*/
    	static $charset = 'UTF8';
    
    	/*
    	* Son yapılan sorguyu saklar
    	*/
    	static $last_stmt = null;
    
    	/*
    	* PDO örneğini yoksa oluşturan, varsa
    	* oluşturulmuş olanı döndüren metot
    	*/
    	public static function instance()
    	{
    		return 
    			self::$pdo == null ?
    				self::init() :
    				self::$pdo;
    	}
    
    	/*
    	* PDO'yu tanımlayan ve bağlantıyı
    	* kuran metot
    	*/
    	public static function init()
    	{
    		self::$pdo = new PDO(
    			'mysql:host=' . MYSQL_HOST .';dbname=' . MYSQL_DB,
    			MYSQL_USER,
    			MYSQL_PASS
    		);
    
    		self::$pdo->exec('SET NAMES `' . self::$charset . '`');
    		self::$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
    
    		return self::$pdo;
    	}
    	
    	/*
    	* PDO'nun query metoduna bindings
    	* ilave edilmiş metot
    	*/
    	public static function query($query, $bindings = null)
    	{
    		if(is_null($bindings))
    		{
    			if(!self::$last_stmt = self::instance()->query($query))
    				return false;
    		}
    		else
    		{
    			self::$last_stmt = self::prepare($query);
    			if(!self::$last_stmt->execute($bindings))
    				return false;
    		}
    
    		return self::$last_stmt;
    	}
    
    	/*
    	* Yapılan sorgunun ilk satırının
    	* ilk değerini döndüren metod
    	*/
    	public static function getVar($query, $bindings = null)
    	{
    		if(!$stmt = self::query($query, $bindings))
    			return false;
    
    		return $stmt->fetchColumn();
    	}
    
    	/*
    	* Yapılan sorgunun ilk satırını
    	* döndğren metod
    	*/
    	public static function getRow($query, $bindings = null)
    	{
    		if(!$stmt = self::query($query, $bindings))
    			return false;
    
    		return $stmt->fetch();
    	}
    
    	/*
    	* Yapılan sorgunun tüm satırlarını
    	* döndüren metod
    	*/
    	public static function get($query, $bindings = null)
    	{
    		if(!$stmt = self::query($query, $bindings))
    			return false;
    
    		$result = array();
    
    		foreach($stmt as $row)
    			$result[] = $row;
    
    		return $result;
    	}
    
    	/*
    	* Query metodu ile aynı işlemi yapar
    	* fakat etkilenen satır sayısını
    	* döndürür
    	*/
    	public static function exec($query, $bindings = null)
    	{
    		if(!$stmt = self::query($query, $bindings))
    			return false;
    
    		return $stmt->rowCount();
    	}
    
    	/*
    	* Query metodu ile aynı işlemi yapar
    	* fakat son eklenen ID'yi döndürür
    	*/
    	public static function insert($query, $bindings = null)
    	{
    		if(!$stmt = self::query($query, $bindings))
    			return false;
    
    		return self::$pdo->lastInsertId();
    	}
    
    
    	/*
    	* Son gerçekleşen sorgudaki (varsa)
    	* hatayı döndüren metod
    	*/
    	public static function getLastError()
    	{
    		$error_info = self::$last_stmt->errorInfo();
    
    		if($error_info[0] == 00000)
    			return false;
    
    		return $error_info;
    	}
    
    	/*
    	* Statik olarak çağırılan ve yukarıda olmayan 
    	* tüm metodları PDO'da çağıran sihirli metot
    	*/
    	public static function __callStatic($name, $arguments)
    	{
    		return call_user_func_array(
    			array(self::instance(), $name),
    			$arguments
    		);
    	}
    }
    Veriyi Çekerken

    $video = DB::getRow("SELECT * FROM `videolar` WHERE seo_baslik = ?", array($_GET['video']));
    Bu Kodu Kullandığım Zaman Sıkıntı Oluyor. array Kısmını Çıkartığım Zaman Sıkıntı Yok.