Почему переменная не была обновлена?
Линии, где ты ничего не делаешь, не имеют значения.
Обратите внимание, что это также верно для заданий:
i = 0;
test = ++i; // 1
test2 = i++; // 1
Примечание. Ссылка на сервер будет закрыта, как только выполнение скрипта завершится, если только она не была закрыта ранее путем явного вызова mysql_close ().
Если ваш скрипт должен выполнить значительный объем обработки после получения результата и получил полный набор результатов, вам определенно следует закрыть соединение. Если вы этого не сделаете, есть вероятность, что сервер MySQL достигнет своего лимита подключения, когда веб-сервер сильно загружен. Если вы не можете закрыть соединение MySQL почти до конца скрипта, оно будет чище, хотя и не нужно делать это явно.
Я не уверен, как fastcgi влияет на вещи. На одной странице утверждается, что сборка PHP, поддерживающая fastcgi, будет создавать постоянные соединения даже для mysql_connect. Это противоречит документации в том смысле, что соединение закрывается, когда заканчивается процесс, а не скрипт. Вместо тестирования я рекомендую использовать mysql_close (). На самом деле, я рекомендую использовать PDO , если он доступен.
Это критично? Не так много
Считается ли это хорошей практикой? Да.
Я не понимаю, почему ты не захочешь закрыть его.
При использовании чего-то вроде cgi совершенно необязательно закрывать соединения mysql, поскольку они закрываются автоматически в конце выполнения скрипта. При использовании постоянных технологий, таких как mod_perl и других, которые поддерживают ваши соединения между запросами, тогда важно отслеживать соединения, глобальные переменные и т. Д.
В основном, для постоянных данных убирайте за собой. Для тривиальных, непостоянных данных все это исчезнет, когда запрос все равно завершится. В любом случае, лучше всего всегда закрывать свои связи.
Закрывается, как только сценарий завершает выполнение. Если только вы не открыли постоянное соединение. В идеале вы должны освободить ресурс (здесь - соединение), как только закончите работу с ним. Если только нет большой вероятности, что он снова понадобится вам очень скоро в процессе выполнения.
Объединение соединений или использование постоянных соединений (если вы это имели в виду) - хорошая идея, если вы работаете с одним сервером базы данных. Однако если серверов больше и вы балансируете нагрузку, это может повредить распределению работы. Как правило, одни клиенты выполняют тяжелые запросы, а другие - легкие. Поэтому если одно и то же соединение используется снова и снова, некоторые серверы будут испытывать большую нагрузку, в то время как другие будут недоиспользованы. Рассмотрите возможность использования меньших ttls и переменного размера пула соединений.