我不知道为什么,但这个mysql_query只是工作了一段时间。我不知道为什么一切都运转良好 这一个在这里:
mysql_query("UPDATE users SET `profit`=profit+$profit, `won`=won+$jackpotcost, `gameswon`=gameswon+1, `games`=games+1 WHERE `steamid`='$winnerid'") or die(mysql_error());
但是这个不起作用:
while($row = mysql_fetch_array($rs))
{
if($row["userid"] == $winnerid)
{
$time=time();
$time=$time+10;
mysql_query("UPDATE users SET `profit`=profit+$profit, `won`=won+$jackpotcost, `gameswon`=gameswon+1, `games`=games+1 WHERE `steamid`='$winnerid'") or die(mysql_error());
mysql_query("INSERT INTO `messages` (`type`,`app`,`userid`,`title`,`msg`,`time`,`active`,`delay`) VALUES ('success','0','$winnerid','Congratulations!','You won $$jackpotcost in Game #$cg with a $wonpercent% chance!','10',1,$time)");
}
else
{
$loserid = $row["userid"];
$rs = mysql_query("SELECT * FROM ".$p2t."game".$cg." WHERE `userid`=".$loserid."");
$losercost=0;
while($lrow = mysql_fetch_array($rs))
{
$losercost+=$lrow['value'];
}
$time=time();
$time=$time+10;
mysql_query("UPDATE users SET `profit`=profit-$losercost, `games`=games+1 WHERE `steamid`='$loserid'") or die(mysql_error());
mysql_query("INSERT INTO `messages` (`type`,`app`,`userid`,`title`,`msg`,`time`,`active`,`delay`) VALUES ('error','0','$loserid','GL Next Game!','$winnername won $$jackpotcost in Game #$cg with a $wonpercent% chance!','10',1,$time)");
}
}
如果有人可以帮助我并解释它有什么问题
答案 0 :(得分:3)
你正在覆盖内循环上的application/json
变量。更改名称,应该没问题。
答案 1 :(得分:0)
如果它有时有效,我怀疑你没有使用mysql_real_escape_string($variable)
。
您想要这样做:
$variable = ""; // content goes here
// then for readying the input
mysql_real_escape($variable);
$query = ""; // your query goes here.
mysql_query($query);
mysql_real_escape_string()
将转义输入变量或用户输入的引号。
它将准备好您的可变/输入以进行查询。
注意:您可能希望转到MySQLi
(又名:MySQL improved
)或转到PDO。它将主要针对安全问题改进您的代码。
希望这有所帮助。