Heim > Backend-Entwicklung > PHP-Tutorial > PHP-Mysql 操作类问题

PHP-Mysql 操作类问题

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-06 20:45:16
Original
1163 Leute haben es durchsucht

简单的操作类

<code><?php /**
*+-------------------------------
*| @todo mysql 操作类
*+-------------------------------
**/

    class MYSQL{

        protected $conn;
        protected $stmt;
        public function __construct($serverName,$userName,$password,$database,$port='3306',$charset="utf8")
        {
            $server = $serverName.':'.$port;
            $this->conn = mysql_connect($server,$userName,$password,true) or die('connect MySQL DB error!');
            mysql_select_db($database,$this->conn) or die('select db error!');
            mysql_query("set names ".$charset,$this->conn);
        }

        /**
        *+-------------------------------
        *|  @param $type  select,insert,delete,updata
        *+-------------------------------
        *
        **/

        public function query($sqlQuery,$type)
        {

            $this->stmt = mysql_query($sqlQuery);

            if($this->stmt)
            {
                switch ($type) {
                    case 'select':

                        $data = array();
                        while ($row = mysql_fetch_array($this->stmt,MYSQL_ASSOC)) {
                            $data[] = $row;
                        }

                        return $data;

                        break;

                    case 'insert':
                        return mysql_insert_id();
                        break;
                    case 'update':
                        return mysql_affected_rows();
                        break;
                    case 'delete':
                        return mysql_affected_rows();
                        break;
                    default:
                        return "Please,enter '\$type'";
                        break;  
                }
            }

        }

        function __destruct(){

            @mysql_free_result($this->stmt);
            mysql_close($this->conn);
        }
    }
</code>
Nach dem Login kopieren
Nach dem Login kopieren

调用方法

<code><?php require_once('mysql.class.php');
    $njhl = new MYSQL("192.168.1.222","root","test","nj100hl");
    $hshdb = new MYSQL("192.168.1.222","root","test","hsh_database");
    if(time() >= mktime(12,0,0))
    {
        $begin = mktime(0,0,0);
        $end   = mktime(11,59,59);
    }
    else
    {
        $begin = mktime(12,0,0,date("m"),date("d")-1,date("Y"));
        $end = mktime(23,59,59,date("m"),date("d")-1,date("Y"));
    }


    $begin = mktime(0,0,0,1,1,2013);
    $end   = mktime(0,0,0,12,31,2014);

    $orderQuery = "select sum(goods.goods_nums) as `goods_nums`,goods.goods_id as `goods_id` 
                    from iwebshop_order_goods as goods left join iwebshop_order as `order` on `order`.id = goods.order_id 
                    where `status` = '5' and unix_timestamp(`order`.completion_time) 
                    between '".$begin."' and '".$end ."' group by goods.goods_id";

    $orderResult =  $njhl->query($orderQuery,'select');

    var_dump($orderResult);
</code>
Nach dem Login kopieren
Nach dem Login kopieren

首先

<code>select sum(goods.goods_nums) as `goods_nums`,goods.goods_id as `goods_id` 
                    from iwebshop_order_goods as goods left join iwebshop_order as `order` on `order`.id = goods.order_id 
                    where `status` = '5' and unix_timestamp(`order`.completion_time) 
                    between '1356969600' and '1419955200' group by goods.goods_id
</code>
Nach dem Login kopieren
Nach dem Login kopieren

这个语句是可以查询到值得。

不知道为什么var_dump($orderResult) 确是NULL, 可能是实例化同一个类有问题!
不知道这个类该怎么写?

回复内容:

简单的操作类

<code><?php /**
*+-------------------------------
*| @todo mysql 操作类
*+-------------------------------
**/

    class MYSQL{

        protected $conn;
        protected $stmt;
        public function __construct($serverName,$userName,$password,$database,$port='3306',$charset="utf8")
        {
            $server = $serverName.':'.$port;
            $this->conn = mysql_connect($server,$userName,$password,true) or die('connect MySQL DB error!');
            mysql_select_db($database,$this->conn) or die('select db error!');
            mysql_query("set names ".$charset,$this->conn);
        }

        /**
        *+-------------------------------
        *|  @param $type  select,insert,delete,updata
        *+-------------------------------
        *
        **/

        public function query($sqlQuery,$type)
        {

            $this->stmt = mysql_query($sqlQuery);

            if($this->stmt)
            {
                switch ($type) {
                    case 'select':

                        $data = array();
                        while ($row = mysql_fetch_array($this->stmt,MYSQL_ASSOC)) {
                            $data[] = $row;
                        }

                        return $data;

                        break;

                    case 'insert':
                        return mysql_insert_id();
                        break;
                    case 'update':
                        return mysql_affected_rows();
                        break;
                    case 'delete':
                        return mysql_affected_rows();
                        break;
                    default:
                        return "Please,enter '\$type'";
                        break;  
                }
            }

        }

        function __destruct(){

            @mysql_free_result($this->stmt);
            mysql_close($this->conn);
        }
    }
</code>
Nach dem Login kopieren
Nach dem Login kopieren

调用方法

<code><?php require_once('mysql.class.php');
    $njhl = new MYSQL("192.168.1.222","root","test","nj100hl");
    $hshdb = new MYSQL("192.168.1.222","root","test","hsh_database");
    if(time() >= mktime(12,0,0))
    {
        $begin = mktime(0,0,0);
        $end   = mktime(11,59,59);
    }
    else
    {
        $begin = mktime(12,0,0,date("m"),date("d")-1,date("Y"));
        $end = mktime(23,59,59,date("m"),date("d")-1,date("Y"));
    }


    $begin = mktime(0,0,0,1,1,2013);
    $end   = mktime(0,0,0,12,31,2014);

    $orderQuery = "select sum(goods.goods_nums) as `goods_nums`,goods.goods_id as `goods_id` 
                    from iwebshop_order_goods as goods left join iwebshop_order as `order` on `order`.id = goods.order_id 
                    where `status` = '5' and unix_timestamp(`order`.completion_time) 
                    between '".$begin."' and '".$end ."' group by goods.goods_id";

    $orderResult =  $njhl->query($orderQuery,'select');

    var_dump($orderResult);
</code>
Nach dem Login kopieren
Nach dem Login kopieren

首先

<code>select sum(goods.goods_nums) as `goods_nums`,goods.goods_id as `goods_id` 
                    from iwebshop_order_goods as goods left join iwebshop_order as `order` on `order`.id = goods.order_id 
                    where `status` = '5' and unix_timestamp(`order`.completion_time) 
                    between '1356969600' and '1419955200' group by goods.goods_id
</code>
Nach dem Login kopieren
Nach dem Login kopieren

这个语句是可以查询到值得。

不知道为什么var_dump($orderResult) 确是NULL, 可能是实例化同一个类有问题!
不知道这个类该怎么写?

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Aktuelle Ausgaben
PHP-Datenerfassung?
Aus 1970-01-01 08:00:00
0
0
0
PHP-Erweiterung intl
Aus 1970-01-01 08:00:00
0
0
0
Wie man PHP gut lernt
Aus 1970-01-01 08:00:00
0
0
0
Mehrere PHP-Versionen
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage