Итак, я столкнулся с запутанной (вызванной программистом) ошибкой, поскольку я программист.
Я создал сайт с профилем пользователя. Профиль пользователя имеет множество полей и изображение. Изображение загружается нормально. Сначала он преобразуется, чтобы вписаться в определенную область.
...
//Я загружаю изображение в базу данных.
imageConverter->loadImage($_FILE... blah balh).
...
Когда пользователь решает чтобы изменить свою информацию, у него также есть шанс изменить свою фотографию. Процесс редактирования профиля ТОЧНО ТАК ЖЕ, КАК процесс НАЧАЛА ПРОФИЛЯ. Единственная разница в том, что я проверяю поля, которые он/она обновлял по одному, и меняю эту конкретную строку в базе данных (очевидно, это можно сделать оптимально, но сначала я хочу, чтобы это работало :))
Запутанная часть заключается в следующем. Когда я РЕДАКТИРУЮ информацию профиля, порядок выглядит следующим образом. я использую MYSQLI ($ this-> mysqli-> запрос ($ запрос)).
они редактируются в базе данных, ЕСЛИ ОНИ ИЗМЕНЯЮТСЯ
- 1 имя
- 2 фамилия
- 3 пароль
- 4 различных предпочтения (флажки / переключатели).
- 5 электронная почта
- 6 фото профиля.
- 7 обновите информацию о сеансе с запросом к базе данных для получения самой обновленной информации.
Теперь #7 возвращает false (SELECT * FROM USERSINFO)
Теперь, если я поменяю порядок действий.
- 1 имя
- 2 фамилия
- 3 пароль
- 4 различных предпочтения (флажки / переключатели).
- 5 электронная почта
- 6 обновите информацию о сеансе с запросом к базе данных для получения самой обновленной информации.
- 7 фото профиля.
Он работает просто ОТЛИЧНО.
есть ответы? Означает ли это, что если 1000 человек попытаются использовать мою базу данных одновременно, все это сломается?
Некоторый код:
Вставка изображения (шаг №6 в нерабочем примере, №7 в рабочем примере)
$this->mysqli->query("DELETE FROM ".DB_REVIEW_IMAGE_TABLE." WHERE email='$email'");
if ($this->mysqli->query("ВСТАВИТЬ В ".DB_REVIEW_IMAGE_TABLE." VALUES('$email', '$content', '$imageType')"))
Обновление информации о пользователе в информацию о сеансе. (шаг №7 в плохом примере, №6 в рабочем примере)
$this->userInfo = $_SESSION[SESSION_USER_INFO] = $database->getUserInfo($this->email);
which $ database->getUserInfo($this->email) == "SELECT ".DB_USERS_ALL_MOUNTAIN.", ".DB_USERS_BACK_COUNTRY.", ".DB_USERS_GROOMERS.", ".DB_USERS_PARK.", ".DB_USERS_SEASON_DAYS.", ".DB_USERS_SEX." , ".DB_USERS_YEARS.", ".DB_USERS_FIRST_NAME.", ".DB_USERS_LAST_NAME.", ".DB_USERS_CITY.", ".DB_USERS_STATE." FROM ".DB_USER_INFO_TABLE.SQL_WHERE_EMAIL
Мне нравится использовать константы :). И DB_USERS_SEX = мужчина или женщина (на всякий случай)
Михаил