微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 使用mysql更新玩家的分数

我有一个简单的在线高分系统用于我的iphone游戏,带有一个MysqL数据库,它有一个字段排名,名称,分数和udid(唯一设备标识符).我不想从udid获得多个分数,我的问题是:我如何确保删除旧分数并插入新分数,并使用新的分数.

我插入分数的代码是:

// Insert the score

$retval = MysqL_query("INSERT INTO $table(
        udid,
        name,
        score

    ) VALUES (
        '$udid',
        '$name',
        '$score'

    )",$conn);

if($retval) {
    echo "Inserted score $score for $name";
   }

所以我想覆盖旧的分数并插入新的分数.

谢谢你的帮助,

干杯,乔

编辑:

我不是一个PHP程序员,所以如果你想,请提供一个简单的例子,提前谢谢!

解决方法:

REPLACE工作正常,正如其他人所建议的那样,但是,REPLACE会实际删除该行,然后插入新行,这在性能上是昂贵的.

我建议你改用INSERT … ON DUPLICATE KEY

INSERT INTO tablename (udid, name, score)
  VALUES (12, 'marcus', 100)
  ON DUPLICATE KEY UPDATE score = 100 WHERE udid = 12

确保udid上有主键或唯一键以使其正常工作.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐