<?php
#########################################
## @Author Ahmed Aboelsaoud            ##
## E-mail:thefox70002000@yahoo.com     ##
## No Copyright To Be Reserved :) ^_^  ##
#########################################


class mySQL {
   
// مصفوفة لتخزين قيم الإتصال بقاعدة البيانات بها
private $DB = array();
// متغير لحفظ الكائن المشأ من هذه الفئة
private static $classObj = NULL;
// متغير لحفظ الكائن المنشأ من فئة الإتصال بقاعدة البيانات
private $objCon = NULL;

    final protected function __construct(){
        // ضبط قيم الإتصال بقاعدة البيانات عند إستدعاء الفئة
        // اسم السرفر لقاعدة البيانات
        $this->DB['Host'] = "localhost";
        // اسم المستخدم لقاعدة البيانات
        $this->DB['UserName'] = "root";
        // الرقم السرى لمستخدم قاعدة البيانات
        $this->DB['UserPass'] = "";
        // اسم قاعدة البيانات
        $this->DB['Name'] = "db";
    }
   
    // جعل الدالة نهائية حتى لا يتم إستنساخ كائن جديد من الفئة
    final private function __clone() {}
   
    // دالة إنشاء كائن من نفس الفئة الحالية
    public static function getObj(){
        if(!self::$classObj)
            self::$classObj = new self();
        return self::$classObj;
    }
   
    // دالة إنشاء كائن من فئة الإتصال بقاعدة البيانات
    public function getConObj(){
        if(!$this->objCon){
            $this->objCon = new mysqli($this->DB['Host'],$this->DB['UserName'],$this->DB['UserPass'],$this->DB['Name']);
            if($this->objCon->connect_errno)
                die($this->objCon->connect_error);
        }
        return $this->objCon;
    }
   
    // دالة إنشاء إستعلام على قاعدة البيانات
    public function makeQuery($qu){
        $temp = $this->getConObj()->query($qu);
        if(!$temp)
            die($this->getConObj()->error);
        return $temp;
    }
   
}

// test
$obj = mySQL::getObj();
if($obj->makeQuery("SELECT * FROM users")->num_rows > 1)
    echo "yes";
else
    echo "no";
	
?>