ホームページ >バックエンド開発 >PHPチュートリアル >なぜこの変数は null なのでしょうか
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 を直接使用してみてはいかがでしょうか
では、見てください