mysqli - мне действительно нужно сделать $ result-> close (); & $ mysqli-> close () ;? - PullRequest
32 голосов
/ 21 мая 2010

Только начал использовать mysqli. Если я работаю с небольшими наборами данных на небольших сайтах (по трафику), действительно ли мне нужно использовать их постоянно?

$result->close(); 
$mysqli->close();

Кроме того, является ли mysqli наиболее предпочтительным способом взаимодействия с MySQL для тех, кто выполняет пользовательские PHP и MySQL без каркаса?

Ответы [ 4 ]

34 голосов
/ 21 мая 2010

PHP закроет все открытые файлы и соединения с БД в конце скрипта. Рекомендуется делать это вручную, когда вы закончите с подключениями, но не беда, если вы этого не сделаете. Если у вас есть соединение с БД, которое будет использоваться на протяжении всего сценария, вы также можете оставить его открытым.

+ 1 на PDO

16 голосов
/ 11 июня 2012

Мне показалось, что нужно обновить эту тему ...

Согласно текущей документации, вы всегда должны использовать $ mysql-> kill () в дополнение к $ mysql-> close ().

$thread = $mysqli->thread_id;
$mysqli->kill($thread);
$mysqli->close();

(В качестве примечания я спросил разработчиков Oracle об использовании PDO с MySQL, и они отговорили его. Они используют исключительно MySQLi. PDO не поддерживается и не поддерживает многие из текущих функций MySQL.) Редактировать: устарел комментарии.

Редактировать: изменил порядок выписок, как предлагалось.

4 голосов
/ 21 мая 2010

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

Что касается уровня БД, обучение PDO должно быть полезным, поскольку оно хорошо спроектировано и совместимо со всеми основными базами данных.

2 голосов
/ 01 апреля 2018

Хорошей практикой является раннее освобождение ресурса, когда в нем больше нет необходимости, это может предотвратить просмотр ресурса при большем количестве одновременных пользователей, обращающихся к одной и той же странице

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...