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); } } ?> 

When running the code above I get the following warnings:

PHP Warning: mysqli_query() expects parameter 1 to be mysqli, null given in 'path' on line 32
PHP Warning: mysqli_error() expects parameter 1 to be mysqli, null given in 'path' on line 34

Any help will be much appreciated.

2
  • 1
    public function __construct()! Commented May 17, 2013 at 14:11
  • No you don't, because this code does not actually instantiate any users. Where is your testcase? Commented May 17, 2013 at 14:21

2 Answers 2

7

You are using wrong magic function for PHP constructor it should be

__construct 

and not

__constructor 

Check here for more reference

Sign up to request clarification or add additional context in comments.

1 Comment

Your a legend bro, can't believe I missed something so simple.
0

Use:

function __construct() {} 

instead of:

function __constructor() {} 

Please refer to the PHP class documentation.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.