Изображение базы данных затем обновляется = ошибка, затем обновляется изображение = успех! Почему?

0

Итак, я запутался в ошибке, вызванной программистом, и я был программистом.

Я создал сайт с профилем пользователя. Профиль пользователя имеет много полей и изображения. Изображение загружается просто отлично. Сначала он преобразуется, чтобы вписаться в определенную область.

...
// Я загружаю изображение в базу данных.
imageConverter- > loadImage ($ _ FILE... blah balh).
...

Когда пользователь решает изменить свою информацию, он также имеет возможность изменить свою фотографию. Процесс редактирования профиля является ТОЧНЫМ ИСПОЛЬЗОВАНИЕМ ПРОЦЕССА ПРОФИЛЯ. Единственное различие заключается в том, что я проверяю поля, которые он обновил по одному, и изменил эту конкретную строку в базе данных (очевидно, это можно сделать оптимально, но сначала я хочу, чтобы она работала:))

Запутанная часть - это. Когда я ИЗМЕНИТЬ информацию о профиле, порядок будет таким. Я использую MYSQLI ($ this- > mysqli- > query ($ query)).

они редактируются в базе данных, ЕСЛИ ОНИ ИЗМЕНЕНЫ

  • 1 firstname
  • 2 lastname
  • 3 пароль
  • 4 различных предпочтения (флажки/переключатели).
  • 5 email
  • 6 изображений профиля.
  • 7 обновить информацию о сеансе с запросом к базе данных для получения самой информации об обновлении.

Теперь # 7 возвращает false (SELECT * FROM USERSINFO)

Теперь, если я переключу порядок действий.

  • 1 firstname
  • 2 lastname
  • 3 пароль
  • 4 различных предпочтения (флажки/переключатели).
  • 5 email
  • 6 обновить информацию о сеансе с запросом к базе данных для получения самой информации об обновлении.
  • 7 изображений профиля.

Он работает только FINE.

любые ответы? Означает ли это, что если бы 1000 человек пытались сразу использовать мою базу данных, что все там что-то сломалось?

Некоторые коды:

Вставка изображения (шаг №6 в нерабочем примере, № 7 в рабочем примере)
$ this- > mysqli- > query ( "DELETE FROM".DB_REVIEW_IMAGE_TABLE. "WHERE email = '$ email'" );
if ($ this- > mysqli- > query ( "INSERT INTO".DB_REVIEW_IMAGE_TABLE. "VALUES ('$ email', '$ content', '$ imageType')" ))

Обновление информации о пользователе в информации сеанса. (шаг № 7 в плохом примере, № 6 в рабочем примере)
$ this- > userInfo = $_SESSION [SESSION_USER_INFO] = $database- > getUserInfo ($ this- > email);

который $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 = мужчина или женщина (на всякий случай)

Майкл

  • 0
    Пожалуйста, отформатируйте свой вопрос для лучшей читаемости. Используйте кнопки над формой.
  • 0
    Это помогает?
Показать ещё 4 комментария
Теги:
mysqli

1 ответ

0
Лучший ответ

Хорошо, ответ был прост.

У моего класса базы данных был модульный уровень var, называемый $mysqli. Этот $mysqli как-то привык в то же время.

Я сделал 2 последовательных вызова.

  • updatePic
  • updateSessionInfo

Каждый из них использовал базу данных. Но, имея модульный уровень, var $mysqli каким-то образом вызовет конфликт. Тем более, что информация о сеансе и информация о снимке находятся в двух разных базах данных. Я не должен много знать о php, но они должны выполняться до завершения другого. ПОЭТОМУ, чтобы разбить это, каждый метод в базе данных

  • создает соединение с базой данных
  • устанавливает базу данных для использования.
  • выполняет запрос
  • закрывает соединения/результирующие наборы.

Теперь он работает!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню