کلاس MySQL برای PHP جهت اتصال به پایگاه داده

۲ سال پیش(به روز شده در ۲ سال پیش) پی اچ پی(PHP)(کلاس) ۰

کلاس ساده زیر توسط ما طراحی شده که البته از PDO استفاده نشده است اما براحتی قابل ویرایش است. در ضمن کلاس زیر کاملا تست شده و آماده بکار است.

<?php
//VTwo Group - https://vtwo.org
class MySQL {
    var $error = '';
    var $MySQLerror = '';
    var $host = '';
    var $username = '';
    var $password = '';
    var $dbname = '';
    var $conn = 0;
    var $rslt = false;
 
    function __construct($dbname = '') {
        if ($dbname) {
            $this->dbname = $dbname;
        }
    }
 
    public function MySQLerror() {
        return $this->MySQLerror;
    }
 
    public function error() {
        switch ($this->error) {
            case 'db-error':
                return 'DB error.';
            case 'connect-error':
                return 'Internal error.';
            default:
                return $this->error;
        }
    }
 
    public function transaction() {
        $this->query('START TRANSACTION');
    }
 
    public function rollback() {
        $this->query('ROLLBACK');
    }
 
    public function commit() {
        $this->query('COMMIT');
    }
 
    public function connect($dbname = '') {
        if (!$dbname) {
            $dbname = $this->dbname;
        }
 
        $this->conn = @mysql_connect($this->host, $this->username, $this->password);
        $this->MySQLerror = mysql_error();
        if (!$this->conn) {
            $this->error = 'db-error';
        }
 
        $this->select_db($dbname);
    }
 
    public function select_db($dbname) {
        $this->error = '';
 
        $rslt = mysql_select_db($dbname, $this->conn);
        $this->MySQLerror = mysql_error();
        if (!$rslt) {
            $this->error = 'connect-error';
        }
    }
 
    public function escape_string($str) {
        if (get_magic_quotes_gpc()) {
            $str = stripslashes($str);
        }
 
        if (function_exists("mysql_real_escape_string") and $this->conn) //check if this function exists
            {
            $str = mysql_real_escape_string($str, $this->conn);
            $this->MySQLerror = mysql_error();
        }
        else {
            $str = addslashes($str); //for PHP version < 4.3.0 use addslashes
        }
 
        return $str;
    }
 
    public function insert($table, $inserts, $ignore = false) {
        if ($ignore) {
            $ignore = ' IGNORE';
        }
        {
            $ignore = '';
        }
 
        $query = "INSERT$ignore INTO `" . $table . "` ";
        $comma = $keys = $values = '';
        foreach ($inserts as $k => $v) {
            $keys .= "$comma`$k`";
            $values .= "$comma'" . $this->escape_string($v) . "'";
 
            if (!$comma)
                $comma = ',';
        }
 
        $query .= "($keys) VALUES ($values)";
        $this->query($query);
    }
 
    public function update($table, $fields, $where = '') {
        $query = "UPDATE `" . $table . "` SET ";
        $comma = '';
        foreach ($fields as $k => $v) {
            $query .= "$comma`$k`" . " = '" . $this->escape_string($v) . "'";
 
            if (!$comma)
                $comma = ',';
        }
 
        $query .= " WHERE " . $where;
        $this->query($query);
    }
 
    public function delete($table, $where = '') {
        if ($where) {
            $this->query("DELETE FROM `$table` WHERE $where");
        } elseif ($where == 'TABLE') {
            $this->query("DELETE FROM `$table`");
        }
    }
 
    public function query($query) {
        $this->error = '';
 
        $rslt = mysql_query($query, $this->conn);
        $this->MySQLerror = mysql_error();
        if (!$rslt) {
            $this->error = 'db-error';
        }
 
        $this->rslt = $rslt;
        return $rslt;
    }
 
    public function numrows() {
        if ($this->rslt) {
            return mysql_num_rows($this->rslt);
        }
        else {
            return false;
        }
    }
 
    public function fetch() {
        if ($this->rslt) {
            return mysql_fetch_array($this->rslt);
        }
        else {
            return false;
        }
    }
 
    public function free_result() {
        if ($this->rslt) {
            return mysql_free_result($this->rslt);
        }
        else {
            return false;
        }
    }
 
    public function data_seek($row_number = 0) {
        if ($this->rslt) {
            return mysql_data_seek($this->rslt, $row_number);
        }
        else {
            return false;
        }
    }
 
    public function result($row, $field) {
        if ($this->rslt) {
            return mysql_result($this->rslt, $row, $field);
        }
        else {
            return false;
        }
    }
 
    public function lastInsertID() {
        if ($this->rslt) {
            $this->query('SELECT LAST_INSERT_ID()');
            return $this->result(0, 0);
        }
        else {
            return false;
        }
    }
}
?>

صفحات پیشنهادی

ذخیره کردن متغیرهای کلاس به فرمت متن(گسترش توابع unserialize و serialize)...

کلاس پایه ای که قصد معرفی داریم بر پایه دو تابع unserialize و serialize توسعه یافته شده است. همانطور که می دانید وظایف این توابع تبدیل متغیرها به فرمت متن جهت ذخیره سازی آنها است تا بتوان در زمان مناس...


تبدیل متن طولانی فارسی به تصویر با رعایت چهارچوب و اعمال فونت دلخواه در php...

در یکی از پروژه ها نیاز داشتیم تا متن فارسی به عکس تبدیل شود. متاسفانه منابع کمی در این مورد هستند و اینکه اکثر این منابع توانایی تبدیل یک متن طولانی به عکس آن هم در یک چهار چوب را ندارند. و مثال های ...

پروتکل SOAP در php(نحوه ارسال و درخواست در این پروتکل)...

"با استفاده از پروتکل دسترسی آسان به اشیاء یا سُوپ (Simple Object Access Protocol - SOAP) می‌توان به ارسال و تبادل پیامهایی از جنس اکس‌ام‌ال بر روی شبکه‌های رایانه‌ای مبادرت کرد". ما قصد توضیح در مورد...

کلاس PHP User Agent...

همانطور که از نام کلاس پیداست جهت دریافت اطلاعات کاربر وارد شده به سایت این کلاس بکار می آید و اطلاعاتی نظیر مرورگر ، سیستم عامل ، آی پی ، و ... را قادر به بررسی است......

نظر

نظری ثبت نشده است.
captcha image reload