我正在嘗試使用來自表單的新用戶名記錄更新用戶名記錄。在我執(zhí)行該語句后,我的數(shù)據(jù)庫中的一條記錄被刪除,但它沒有被來自表單的新記錄替換。我不明白為什么。索引.php:<form action="change.php"> <input type="text" name="txtNewUsername" id="txtNewUsername" placeholder="new username"><br/> <button>Change username</button></form>更改.php:<?phpsession_start();require_once __DIR__.'/connect.php';$txtNewUsername = $_POST['txtNewUsername'];$sUsername = $_SESSION['txtUsername'];try{ $stmt = $db->prepare('UPDATE users SET username = :sNewUsername WHERE username = :sOldUsername'); $stmt->bindValue('sNewUsername', $txtNewUsername); $stmt->bindValue(':sOldUsername', $sUsername); $stmt->execute(); echo $txtNewUsername;}catch(PDOEXception $ex){ echo $ex;}我想用來自表單的用戶名替換連接用戶的用戶名。
2 回答

心有法竹
TA貢獻(xiàn)1866條經(jīng)驗(yàn) 獲得超5個贊
我看到的第一件事是您沒有指定表單方法。沒有 amethod=?
默認(rèn)是GET。在這里閱讀
您正在嘗試使用POST檢索更新的值
更改<form action="change.php">
為<form action="change.php" method="post">
話雖如此……由于使用get
方法是一種簡單的技巧,因此最好post
在將信息從一個頁面?zhèn)鬟f到另一個頁面時使用。
您可能還想更改<button>Change username</button>
為<input type="button" name="submit" value="Change username" />
快樂編碼!

江戶川亂折騰
TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超5個贊
$stmt->bindValue('sNewUsername', $txtNewUsername);
我不知道這是否導(dǎo)致您的問題,但您缺少“:”sNewUsername
- 2 回答
- 0 關(guān)注
- 178 瀏覽
添加回答
舉報(bào)
0/150
提交
取消