Jadi saya mengalami bug yang membingungkan (disebabkan oleh programmer), sayalah programmernya.
Saya telah membuat situs web dengan profil pengguna. Profil pengguna memiliki banyak bidang dan gambar. Gambar diunggah dengan baik. Pertama diubah agar sesuai dengan area tertentu.
...
//Saya mengunggah gambar ke database.
imageConverter->loadImage($_FILE... bla balh).
...
Ketika pengguna memutuskan untuk mengubah informasinya, dia juga mempunyai kesempatan untuk mengubah fotonya. Proses edit profil sama persis dengan proses MULAI PROFIL. Satu-satunya perbedaan adalah saya memeriksa bidang yang dia perbarui satu per satu, dan mengubah baris tertentu ke dalam database (tentu saja ini dapat dilakukan secara optimal, tetapi pertama-tama saya ingin ini berfungsi :))
Bagian yang membingungkan adalah ini. Ketika saya EDIT informasi profil, urutannya menjadi seperti ini. saya menggunakan MYSQLI ($ini->mysqli->query($query)).
ini diedit dalam database JIKA BERUBAH
- 1 nama depan
- 2 nama belakang
- 3 kata sandi
- 4 preferensi berbeda (kotak centang / tombol radio).
- 5 email
- 6 gambar profil.
- 7 perbarui informasi sesi dengan permintaan ke database untuk informasi terkini paling banyak.
Sekarang #7 mengembalikan false (SELECT * FROM USERSINFO)
Sekarang jika saya mengganti urutan tindakan.
- 1 nama depan
- 2 nama belakang
- 3 kata sandi
- 4 preferensi berbeda (kotak centang / tombol radio).
- 5 email
- 6 perbarui informasi sesi dengan permintaan ke database untuk informasi terkini paling banyak.
- 7 gambar profil.
Ini berfungsi dengan baik.
ada jawaban? Apakah ini berarti jika 1000 orang mencoba menggunakan database saya sekaligus, semua yang ada di sana akan rusak?
Beberapa kode:
Memasukkan gambar (langkah #6 pada contoh tidak berfungsi, #7 pada contoh berfungsi)
$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')"))
Memperbarui informasi pengguna menjadi informasi sesi. (langkah #7 dalam contoh buruk, #6 dalam contoh kerja)
$this->userInfo = $_SESSION[SESSION_USER_INFO] = $database->getUserInfo($this->email);
yang $ database->getUserInfo($ini->email) == "PILIH ".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
Saya suka menggunakan konstanta :). Dan DB_USERS_SEX = pria atau wanita (untuk berjaga-jaga)
Michael