پی اچ پی

کلاس اتصال به پایگاه داده و اجرای کوئری توسط تابع MySQLi در PHP

با استفاده از کلاس زیر براحتی به پایگاه داده خود متصل شوید

 

class Db {
    private $connection;
    private static $db;

    public static function getInstance($option = null) {
        if (self::$db == null) {
            self::$db = new Db($option);
        }
        return self::$db;
    }

    private function __construct($option = null) {

        if ($option != null) {
            $host = $option['host'];
            $user = $option['user'];
            $pass = $option['pass'];
            $name = $option['name'];
        } else {
            global $config;
            $host = $config['db']['host'];
            $user = $config['db']['user'];
            $pass = $config['db']['pass'];
            $name = $config['db']['name'];
        }

        $this->connection = new mysqli($host, $user, $pass, $name);
        if ($this->connection->connect_error) {
            echo "Connection failed: " . $this->connection->connect_error;
            exit();
        }
        $this->connection->query("SET NAMES 'utf8'");
    }

    public function first($sql) {
        $records = $this->query($sql);
        if ($records == null) {
            return null;
        }

        return $records[0];
    }

    public function insert($sql) {
        $id = $this->connection->query($sql);
        if (!$id) {
            echo "Query:" . $sql . "failed due to" . mysqli_error($this->connection);
            exit;
        }
        return $id;
    }
    public function delete($sql) {
        $delete = $this->connection->query($sql);
        if (!$delete) {
            echo "Query:" . $sql . "failed due to" . mysqli_error($this->connection);
            exit;
        }
        return $delete;
    }

    public function update($sql) {
        $update = $this->connection->query($sql);
        if (!$update) {
            echo "Query:" . $sql . "failed due to" . mysqli_error($this->connection);
            exit;
        }
        return $update;
    }

    public function query($sql) {
        $result = $this->connection->query($sql);
        if (!$result) {
            echo "Query:" . $sql . "failed due to" . mysqli_error($this->connection);
            exit;
        }
        $records = [];
        if ($result->num_rows == 0) {
            return null;
        } else {
            while($row = $result->fetch_assoc()) {
                $records[] = $row;
            }
            return $records;
        }
    }

    public function connection() {
        return $this->connection;
    }

    public function close() {
        $this->connection->close();
    }
}

 

کلاس بالا اطلاعات اتصال به پایگاه داده رو از فایل Config میگیره که در زیر کد اون رو می بینید

global $config;
$host = $config['db']['host'] = 'localhost';
$host = $config['db']['user'] = 'یوزر پایگاه داده';
$host = $config['db']['pass'] = 'رمز یوزر';
$host = $config['db']['name'] = 'پایگاه داده';

 

استفاده:

ابتدا فایل کلاس نوشته شده و اطلاعات پایگاه داده (Config) رو در برگه مورد نظر فراخوانی کنید

require_once('config.php');
require_once('db.php');

 

با کد زیر براحتی به پایگاه داده متصل شوید

$db = Db::getInstance();

 

اجرای  کوئری ها:

نوشتن در پایگاه داده:

$db->insert("رشته کوئری");

دریافت اولین نتیجه:

$db->first("رشته کوئری");

دریافت نتیجه:

$db->query("رشته کوئری");

بروزرسانی:

$db->update("رشته کوئری");

حذف:

$db->delete("رشته کوئری");

۸-)

برچسب ها
مشاهده بیشتر

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا
بستن
بستن