我正在尝试创建一个小脚本,它基本上会替换已经存在的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");}
}
?>
答案 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