我在我們的網站上遇到了一個嚴重的問題,需要一個解決方案。所以基本上,在下面的代碼中,我們將用戶的電子郵件設置為數據庫中的用戶名,以及從 MOCK_DATA.csv 文件中獲取的隨機密碼,并將其存儲在數據庫中。但它會執行檢查,因此如果數據庫中不存在用戶名,則會插入用戶名和密碼。如果用戶名已經存在,則只需更新密碼。現在這里是下面的問題:問題說明:用戶購買后,如果用戶名已存在于數據庫中,則該用戶和數據庫中所有其他用戶的密碼都會更新為該密碼。需要澄清的是,如果它是新用戶,則不會發生這種情況。因此,如果電子郵件 [email protected] 不在數據庫中,[email protected] 和密碼 123456 將被插入到數據庫中,并且數據庫中的其他用戶的密碼都不會受到影響。但是,如果我再次使用相同的電子郵件 [email protected] 進行購買,該用戶的密碼將更新(假設為 654321),但數據庫中所有其他用戶的密碼也將設置為 654321。預期結果:如果用戶名已經存在,則密碼只應為該單個用戶更新。實際結果:所有用戶的密碼更新。
1 回答
DIEA
TA貢獻1820條經驗 獲得超3個贊
因此,在 OP 和我之間的聊天中進行了長時間的討論之后,得出的結論是該$username變量沒有被填充,這反過來又使您的查詢/更新因此而失敗,我可能會默默地添加。
另外,UPDATE 查詢的iinmysqli_stmt_bind_param()從一開始也是一個問題,因為您試圖使用一種integer格式存儲字符串。
- 1 回答
- 0 關注
- 97 瀏覽
添加回答
舉報
0/150
提交
取消
