here is my database.php file:

require_once("config.php"); class MySqlDatabase{ private $connection; function __construct(){ $this->open_connection(); } public function open_connection(){ $connection = mysqli_connect(DB_SERVER , DB_USER , DB_PASS , DB_NAME); if(!$connection){ die("Database connection failed:" . mysqli_error($connection)); } } public function query($sql){ $result = mysqli_query($this->connection , $sql); $this->confirm_query($result); return $result; } private function confirm_query($result){ if(!$result){ die("Database query failed: "); } } } $database = new MySqlDatabase(); $db =& $database; 

but I'm trying to test the performance and ask the query:

 require_once("../includes/database.php"); if(isset ($database)) {echo"true";}else {echo "false";} $sql ="INSERT INTO users (id, username, password, first_name, last_name)"; $sql .="VALUES (1,'olegsavchuk12','1111','Oleg','Savchuk')"; $result = $database->query($sql); $sql = "SELECT * FROM users WHERE id=1"; $result_set = $database->query($sql); $found_user = mysqli_fetch_all($result_set); echo $found_user['username']; 

But he does not work and gives an error

 "Warning: mysqli_query() expects parameter 1 to be mysqli, null given in /Applications/MAMP/htdocs/php_gallery/includes/database.php on line 17 Database query failed:" 

Tell me how you can solve

    2 answers 2

    The problem is in this code:

     public function open_connection(){ $connection = mysqli_connect(DB_SERVER , DB_USER , DB_PASS , DB_NAME); if(!$connection){ die("Database connection failed:" . mysqli_error($connection)); } } 

    Instead of $connection $this->connection should be everywhere - and it will work.

      This class is just awful. They can not use. No need to write your classes until you learned how to use the original API. Which in this case does not improve, but worsens. The code should be changed to this:

      database.php

       require_once("config.php"); mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); $db = mysqli_connect(DB_SERVER , DB_USER , DB_PASS , DB_NAME); 

      code to check.

       require_once("../includes/database.php"); $sql ="INSERT INTO users (id, username, password, first_name, last_name)"; $sql .="VALUES (1,'olegsavchuk12','1111','Oleg','Savchuk')"; $db->query($sql); $sql = "SELECT * FROM users WHERE id=1"; $res = $db->query($sql); $found_user = $res->fetch_assoc(); echo $found_user['username'];