Что происходит, если Подключения mysql постоянно не закрываются на страницах PHP?

В соответствии с руководством в json_encode метод может возвращать нестроку (false):

Возвращает строку с кодировкой JSON при успешном выполнении или FALSE при ошибке.

blockquote>

Когда это произойдет, echo json_encode($data) выведет пустую строку, которая недействительна JSON .

json_encode будет например, fail (и return false), если его аргумент содержит строку не UTF-8.

Это условие ошибки должно быть записано в PHP, например, следующим образом:


Тогда конечный вывод должен, конечно, знать, что наличие jsonError указывает на состояние ошибки, которое должно обрабатываться соответствующим образом.

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

Подробнее о проблемах с ошибками JSON в Документация PHP .

7
задан Edward Tanguay 19 September 2008 в 16:05
поделиться

3 ответа

От: http://us3.php.net/manual/en/mysqli.close.php

"Открытые соединения (и подобные ресурсы) автоматически уничтожаются в конце выполнения сценария. Однако необходимо все еще закрыться или свободный все соединения, наборы результатов и дескрипторы оператора, как только они больше не требуются. Это поможет возвратить ресурсы PHP и MySQL быстрее".

18
ответ дан 6 December 2019 в 07:30
поделиться

Просто, потому что Вы перенаправляете, не означает, что сценарий прекращает выполняться. Перенаправление является просто отправляемым заголовком. Если Вы не выйдете () прямо после, то остальная часть Вашего сценария продолжит работать. Когда сценарий действительно закончит работать, он закроет все открытые соединения (или выпустит их назад к пулу при использовании постоянных соединений). Не волнуйтесь об этом.

4
ответ дан 6 December 2019 в 07:30
поделиться

Мог бы быть предел того, сколько соединений может быть открыто сразу, поэтому если у Вас есть многие пользователь, у Вас могли бы закончиться соединения SQL. В действительности пользователи будут видеть ошибки SQL вместо хороших веб-страниц.

Лучше открыть соединение, чтобы считать данные, затем закрыть его, затем отобразить данные и после того как пользовательские щелчки "утверждают", что Вы открываете другое соединение и затем отправляете все изменения.

2
ответ дан 6 December 2019 в 07:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: