PHP Prepare statement shortcut class
Given the main added value in this class is a sort of error handler, I would suggest to make a little addition to your connection code that will make mysqli  report errors by itself, which will make your class pretty much obsoleted.

Just add the following line before new mysqli...

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);


and you won't need to do things like echo $mysqli-&gt;error anymore simply because mysqli will do everything you wrote here by hand.

Which means that you will perfectly do with vanilla mysqli:

$query = "SELECT * FROM `posts` WHERE `ID` = ? AND `author` = ?";
$stmt = $DB-&gt;prepare($query);
$stmt-&gt;bind_param("ss", $ID, $author);

$ID = 1;
$author = 'Admin';
$results = $stmt-&gt;get_result();

$ID = 2;
$author = 'Admin';
$results = $stmt-&gt;get_result();
$stmt-&gt;close();


and there is even get_result_array() available in mysqli out of the box:

$query = "SELECT * FROM `posts` WHERE `author` = ?";
$stmt = $DB-&gt;prepare($query);
$stmt-&gt;bind_param("s", $author);
$results = $stmt-&gt;get_result()-&gt;fetch_all();
                                ^^^^^^^^^ notice this part


What I would do if I would decide to create a prepared statement shortcut class, is a method that accepts both query and parameters executes them together, like 

$query = "SELECT * FROM `posts` WHERE `ID` = ? AND `author` = ?";
$results = DB::run($query, [$ID, $author])-&gt;get_result()-&gt;fetch_all();


such a function I would call a shortcut