Очистка объекта после вызова метода

Как я могу очистить объект после вызова указанного метода?

У меня есть класс DB и хотел бы очистить все свойства после вызова mysqli->query(),

class DB
{
private $mysqli = 'This is an instantiated MySQLi object';
private $sql    = 'This variable is filled with an SQL query';

public function query()
{
$tmp = $this->mysqli->query($this->sql); // Start MySQLi query to MySQLi server

$this->clearObject(NULL); // clear all properties of this object

var_dump($tmp); // until here $tmp is still declared as mysqli_result

return $tmp; // return the temporary variable $tmp. $tmp is NULL now.
}
}

$DB = new DB;
$DB->query();

У меня уже есть метод clearObject(NULL) это работает нормально, но когда я пытаюсь запустить код, я получаю сообщение об ошибке

Неустранимая ошибка: вызов функции-члена query () для null

хоть $tmp по-прежнему определяется как object(mysqli_result) после звонка $this->clearObject(NULL),

Кажется, что return $tmp пытается «переопределить» $tmp перед возвратом — это правильно? Как я мог решить эту проблему?

PS: clearObject(NULL устанавливает все значения свойств в NULLВот почему сообщение об ошибке содержит null,
PPS: не хочу уничтожать (unset()) предмет DB!

Спасибо заранее!

ОБНОВИТЬ: Я просто мешаю $mysqli от очистки $sql (это на самом деле ДОЛЖНО быть очищено после mysqli->query() очищается и поэтому сообщение об ошибке

Предупреждение: mysqli :: query (): пустой запрос

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector