php - 更新数据库,不再在列表中添加相同的用户名

标签 php mysql

    $update_list = "";
foreach($keys as $k)
{
    if(!isset($_GET[$k]) || empty($_GET[$k]))
    {
        exit("error");
    }

    $update_list .= ($k != "username") ? "{$k}={$_GET[$k]},":"";
}
$update_list = substr($update_list, 0, -1);

$con = new PDO("mysql:host=localhost;port=3306;dbname=highscores", "root", "");
$row_list = implode(",", $keys);
$question_marks = substr(str_repeat("?,", sizeof($keys)), 0, -1);

$query = "INSERT INTO `highscores` ({$row_list}) VALUES ({$question_marks}) ON DUPLICATE KEY UPDATE {$update_list}";

当我注销时,它会将另一个具有相同名称的用户名添加到列表中。 我不想要的是,当用户注销时,它将更新统计信息,而不是在列表中创建具有更新统计信息的相同用户名。 这里出了什么问题。

MVG。

最佳答案

SQL 查询不应该 INSERT INTO 但 UPDATE 尝试编写如下内容:

$query = "UPDATE `highscores`SET({$question_marks}) WHERE username=usernameToUpdate";

将“usernameToUpdate”替换为与您要更改的“highscore”相关的用户名。使用“userId”代替用户名可能更好,但两种方式都可以,

关于php - 更新数据库,不再在列表中添加相同的用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36756754/

相关文章:

php - 在 PHP 中使用 cURL 下载大文件 - 页面挂起

python - 需要保留所有列,但出现重复的列名称 #1060

php - 更新数据库中的记录

MYSQL 计算重复 2、3、4 等次的值的数量

javascript - Highstock 与 php 和 mysql

php - 避免重复预订/重复消费

javascript - php如何验证字符串是否是安全验证的某些函数

php - 重定向拼写错误的搜索 php

php - 从多个表中选择顺序和组

MySQL 在 ssh 内、bash 内查询,带参数