کلاس 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...

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

کلاس رمزنگاری و رمزگشایی Crypter...

با استفاده از کلاس Crypter براحتی رشته های متنی را بر پایه الگوریتم Base64 رمزگذاری کرده و سپس در مواقع لزوم رمزگشایی کنید......

کلاس تجزیه گر فایل لاگ سرور آپاچی...

کلاس زیر , فایل لاگ وب سرور آپاچی را تجزیه نموده و نتایج اطلاعات تجزیه شده هر بازدیدکننده را نمایش می دهد. این اطلاعات شامل آی پی , تاریخ ثبت , آدرس رفرنس یا مرجع , وضعیت و ... است. لاگ سرور آپاچی محل...

نظر

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