1
<?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,在第 32 行的“路径”中给出空值
PHP 警告:mysqli_error() 期望参数 1 为 mysqli,在第 34 行的“路径”中给出空值

任何帮助都感激不尽。

4

2 回答 2

7

您为 PHP 构造函数使用了错误的魔法函数,它应该是

__construct

并不是

__constructor

在这里查看更多参考

于 2013-05-17T14:10:34.787 回答
0

利用:

function __construct() {} 

代替:

function __constructor() {}

请参阅PHP 类文档

于 2013-05-17T14:15:09.460 回答