• 技术文章 >后端开发 >php教程

    为甚麽这个变量为null

    2016-06-23 14:02:12原创480

    class my_connect{       private $conn;       private  function get_conn() {            $conn=new mysqli('localhost',"root","","test",3306);            $conn->set_charset("utf8");            return $conn;        }        private  function __destruct() {            if(isset($this->conn)){                $this->conn->close();            }        }        static function get_instance() {            $new_conn=new my_connect() ;            $conn=$new_conn->get_conn() ;            return $conn;        }    } 当我执行 $conn=my_connect::get_instance(); 到析构函数的时候 $conn变量为null也就是没有执行  $this->conn->close();


    回复讨论(解决方案)

    设置的时候,是否要使用$this->呢?

    明显这一步是错的,这一步判断该变量是否已定义了,private $conn;,这边你已经定义过了,虽然什么值都没有

    if(isset($this->conn)){


    改下就好
    if($this->conn){

    我去,看错了。。。。

    get_conn 是私有方法,

    private  function get_conn

    改为
    public  function get_conn

    即可

    这个类你可以优化优化,还有待优化

    没用过mysqli,为什么不直接用mysql_connect呢

    围观一下

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:跪求一 选择 算法。 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 一文详解PHP实现职责链设计模式(附代码示例)• php实现通过JSON RPC与go通讯(附代码)• 浅析怎么使用PHP做异步爬取数据• PHP8.3要有新函数了!(json_validate函数说明)• 设计API接口时,要注意这些地方!
    1/1

    PHP中文网