Ну вот, в последнюю неделю становится хуже.
Сейчас из 18 веток с первой попытки открылись только 5. Все остальные - "The page you are looking for is temporarily unavailable. Please try again later."
И отклик сервера на запросы опять высокий...
И проверяется, что записалось в переменную, а не результат функции присваивания. Т.к. если бы присваивание могло учавствовать как полноправный участник условия - оно бы вернуло true, т.к. переменной-то новое значение присвоено успешно.
Или, докажите обратное. Что проверяется именно результат действия, а не значение, которое было присвоено.
А разве = вообще хоть что-то возвращает? Я всегда думал, что в такой конструкции проверяется новое значение переменной. Ведь while ($row = mysql_fetch_assoc($a)) {} если бы проверял факт приравнивания - никогда бы не закончился.
БД грузит только mysql_query и mysql_connect.
А mysql_free_result() всего лишь освобождает память, занятую результатом выборки.
В конце кода его вызывать бессмысленно абсолютно - память после отработки скрипта и так освободится.
Брайзером запросите image.php - гарантирую вывод ошибки, хотя бы уровня E_NOTICE на строку 11 - обращение к переменной без проверки на её существование