Heim > Backend-Entwicklung > PHP-Tutorial > 为甚麽这个变量为null

为甚麽这个变量为null

WBOY
Freigeben: 2016-06-23 14:02:12
Original
890 Leute haben es durchsucht

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();
Nach dem Login kopieren


回复讨论(解决方案)

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

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

if(isset($this->conn)){
Nach dem Login kopieren


改下就好
if($this->conn){
Nach dem Login kopieren

我去,看错了。。。。

get_conn 是私有方法,

private  function get_conn
Nach dem Login kopieren

改为
public  function get_conn
Nach dem Login kopieren

即可

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

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

围观一下

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage