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

时间:2014-12-08 22:25:41

标签: php mysql mysqli sql-update

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

我的想法是我的游戏服务器将调用数据库,如果值为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");}
}

?>

1 个答案:

答案 0 :(得分:0)

修复:

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