PHP MySQL UPDATE 失败使用 PHP 语句将 INT 值从 0 更改为 1

标签 php mysql mysqli sql-update

我正在尝试创建一个小脚本,它将基本上替换现有 mysql 表数组的值。该表有“claimed”行,其默认值为 0,并且是“0”、“1”的枚举(如果有帮助,可以切换到 INT 或 Text,但在我尝试时没有帮助)。

这个想法是我的游戏服务器将调用数据库,如果该值为 0 或 1,则执行不同的操作。请有人帮忙!

我无法使用游戏服务器调用的脚本来读取单行文本的值,从而将声明的行值从 0 更新为 1。

有什么想法吗?

<?php
include 'connect.php';

if(isset($_GET['username'])){
    if(!empty($_GET['username'])){
        $username = mysql_real_escape_string(strip_tags($_GET['username']));
        $sql = mysql_query("SELECT * FROM donations WHERE username='$username' LIMIT 1") or die("MYSQL");
        $count = mysql_num_rows($sql);

        if($count == 1){
            while($row = mysql_fetch_array($sql)){
                $claimed = $row["claimed"];
                $amount = $row["amount"];
                $package = $row["package"];

                if($claimed == 0){
                    $sql = mysql_query("UPDATE claimed SET claimed='1' WHERE username='$username' LIMIT 1");
                    if($sql){
                        die($package);
                    }else{
                        die("MYSQL");
                    }
                }else{die("CLAIMED");}

            }
        }else{die("EMPTY");}

    }else{die("EMPTY");}
}

?>

最佳答案

修复:

mysql_query("UPDATE claimed SET claimed='1' WHERE username='$username' LIMIT 1");

更改为

mysql_query("UPDATE donations SET claimed='1' WHERE username='$username' LIMIT 1");

更新语法:

UPDATE table_name SET column_name = value where ...

并停止使用 mysql_*,因为它已被弃用,使用 mysqli_ 或 pdo

关于PHP MySQL UPDATE 失败使用 PHP 语句将 INT 值从 0 更改为 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27368121/

相关文章:

php - 提交后取消设置 Symfony 表单中的字段

php - 虽然循环似乎无穷无尽

php - 如何使用 Hybridauth 3 登录/注销?

php - 固定比例选择

php - Laravel 5.4 获取 id 的 json 数组

php - Mysql 查询显示不同的结果

php - MySQL:多重查询不执行第二个和第三个附加查询

javascript - 检查用户名是否存在不起作用

php - 使用 PBKDF2 在 MySQL 数据库中存储密码和盐

mysql - MySql : number of rows or size of file? 性能瓶颈