php - 使用 PHP 更新表中的 MySQL "username"时出现问题

标签 php mysql sql-update

我可能没有使用最好的方法来创建用户系统,但它不需要很花哨。我也知道我不是最有条理的

登录和一切都很好,但我在更新凭据时遇到问题。

例如,我允许用户更改他们的用户名。我有要提交给 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/

相关文章:

php - Jquery:循环迭代

php - 使用 PHP 更新数据库条目不适用于文本字段

php - 将表单数据传递给 php 变量。变量似乎是空的

php - Json编码整个mysql结果集

php - 访问设置它的同一数组内的变量

javascript - 我的第一个 AJAX 请求遇到了麻烦

mysql - 将多列 WRT 转置为 MySQL 中的一行

PHP脚本无法格式化日期

mysql - 在 CodeIgniter 中使用 order_by 和 group_by 无法按预期工作

sql - 使用 where 条件从列中删除特定值?