我可能没有使用最好的方法来创建用户系统,但它不需要很花哨。我也知道我不是最有条理的
登录和一切都很好,但我在更新凭据时遇到问题。
例如,我允许用户更改他们的用户名。我有要提交给 update-username.php 的“更改用户名”(不是那个名字)表单。
我已经有 mysql_real_escape_string,在另一个页面的函数“cleanString”中。我的textarea submitting里面已经有旧文本了,所以你可以先修改查看。
$user_id = "";
if(isset($_POST['id']))
{
$user_id = $_POST['id'];
}
$query = "SELECT username,email,display_name,access,password FROM users WHERE user_id='$user_id'";
$results = mysql_query($query);
if(!$results) { //Check to see if query failed
die(mysql_error());
}
$resultsfetch=mysql_fetch_array($results);
$username = $resultsfetch['username'];
$usernamenew = $_POST['usernameinput'];
if(isset($_POST['usernameinput'])) {
$usernamenew = cleanString($_POST['usernameinput']);
}
if($usernamenew !=$username){
$submit = "UPDATE users SET username = '$usernamenew' WHERE user_id = '$user_id'";
mysql_query($submit);
if(!$submit) { //Check to see if query failed
die(mysql_error());
}
}
这可能是我错过的一些愚蠢或简单的东西,或者是一些非常大的东西。主要是我心不在焉。
最佳答案
$submit = sprintf("UPDATE users SET username = '%s' WHERE user_id = %d",mysql_real_escape_string($usernamenew),mysql_real_escape_string($user_id));
关于php - 使用 PHP 更新表中的 MySQL "username"时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20854603/