Мне интересно, что на самом деле делает mysqli_close и когда он должен быть вызван. У меня есть этот класс дБ, где другие классы могут вызывать открытые методы для выполнения запросов. Однако я не совсем уверен, где и если мне следует установить соединение mysqli_close.
Если данные все еще присутствуют в возвращаемой переменной, когда я закрывал соединение после строки возврата $, этот метод будет вызываться много раз из других классов.
Когда функция вызывается из другого класса, она сохраняет данные, когда соединение закрыто. Или же он больше не существует, несмотря на то, что он был сохранен в переменной, которая была возвращена классу, который вызвал функцию.
Можно ли даже вызвать соединение mysqli_close после возвращаемого значения? Или метод остановлен, потому что он возвратил значение и поэтому никогда не вызовет функцию mysqli_close?
Поскольку это старый фреймворк, написанный кем-то другим, у меня нет базового класса, из которого расширены все классы, поэтому у меня нет простого способа закрыть соединение в конце каждого php-файла. Если я не хочу этого делать, мне нужно добавить mysqli_close примерно в 500+ файлов. Что я считаю неправильным подходом.
Буду признателен за любую идею о том, как решить эту проблему!
Например, у меня есть эта функция:
function getRecord($sql) {
if ($this->connect()) {
if ($result = mysqli_query($this->connection,$sql)) {
if ($row = mysqli_fetch_assoc($result)) {
return $row;
// mysqli_close($this->connection);
} else {
return false;
}
} else {
return false;
}
} else {
return false;
}
// mysqli_close($this->connection);
}