> 백엔드 개발 > PHP 튜토리얼 > PHP-Mysql 操作类问题

PHP-Mysql 操作类问题

WBOY
풀어 주다: 2016-06-06 20:45:16
원래의
1121명이 탐색했습니다.

简单的操作类

<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>
로그인 후 복사
로그인 후 복사

调用方法

<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>
로그인 후 복사
로그인 후 복사

首先

<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>
로그인 후 복사
로그인 후 복사

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

不知道为什么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>
로그인 후 복사
로그인 후 복사

调用方法

<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>
로그인 후 복사
로그인 후 복사

首先

<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>
로그인 후 복사
로그인 후 복사

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

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿