Тест показал, что с int(1) мускулу глубоко пофиг на это..
Попробовал вставить 999999999999 (12)
Вставилось с warning:
Вставлено строк: 1.
Идентификатор вставленной строки: 2147483647
Warning: #1264 Out of range value for column 'id' at row 1
2147483647 - это ограничитель... Уже видел такое в одной он-лайн игре, просто забыл. Там было что-то типа: всего юнитов у участников: 2147483647 и больше не становилось (Добавление)
Но это можно как-то обойти... надо гуглить.
второй скрипт: я бы вызывал открытие, закрытие файла внутри конструкции if (зачем открывать, закрывать файл если ошибок нет,
а все ошибки складывал бы в массив.
Чтоб подгружалась надо AJAX,
если без него, то используйте функцию http://www.php.su/bool move_uploaded_file ( string $filename , string $destination ) " target="_blank">bool move_uploaded_file ( string $filename , string $destination ) и перезагружайте страница после загрузки с указанием <img src="..." />
вариант 1 (несколько зависимых (независимых)) таблиц всегда лучше. Более маштабируемо и нагрузка не такая чумовая (если запросы правильно составить) (Добавление)
хотя я бы менюху загнал в 1 таблицу cat(id, pid, name), а текст в другую (id, cat_id, title, text, etc)
Сначала надо ответить на этот вопрос, а потом уже кешировать.
Потом решить, что кешировать.
Кеширование - путь к оптимизации сайта, но неправильное кеширование может привести к обратному.
Приведу пример: на сайте есть очень сложное всплывающее меню. Данные берутся из бд, генерируются полотна стилев для него. Всё сделано для того, чтоб можно было менять это из админки.
Поэтому проще закешировать страницу меню в файл и вызывать не сложный скрипт каждый раз (меню в шапке инвизиблом, поэтому грузится везде), а закешированный файл. Если кто-то что-то изменил в админке, файл и БД обновляется. Как-то так.
+ для ускорения работы можно использовать встроенную функцию пхп.
Например мой index.php: