从方法调用时,构造函数属性为null

时间:2013-05-17 14:08:13

标签: php mysql

<?php
    class user {
        public $connection;
        public $host;
        public $username;
        public $password;
        public $database;
        public $port;

        public function __constructor() {
            $this->host     = "localhost"; 
            $this->username = "root";
            $this->password = "Password";
            $this->database = "database";
            $this->port     = "port";

            // Create connection
            $this->connection = new mysqli($this->host, $this->username, $this->password, $this->database, $this->port);

            // Check connection
            if ($this->connection->connect_error)
            {
                echo "Failed to connect to MySQL: " . $this->connection->connect_error;
            }
        }

        public function save ( $data ) {            
            $prop = strval($data['prop']);

            $sql = "INSERT INTO user (prop)
                    VALUES ('" .$prop. "')";

            if (!mysqli_query($this->connection, $sql))
            {
                die('Error: ' . mysqli_error($this->connection));
            }
            echo "1 record added";

            mysqli_close($this->connection);
        }
    }
?>

运行上面的代码时,我收到以下警告:

  

PHP警告:mysqli_query()期望参数1为mysqli,null   在第32行的'path'中给出了WEB警告:mysqli_error()期望   参数1为mysqli,在第34行的'path'中给出null

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:7)

你正在使用PHP构造函数的错误魔术函数

__construct

而不是

__constructor

检查here以获取更多参考资料

答案 1 :(得分:0)

使用:

function __construct() {} 

而不是:

function __constructor() {}

请参阅the PHP class documentation