1

我正在做一个小项目:一个小数字运算游戏。

我想要一个 php 文件,它可以接受输入并将它们解释为指定的数据库更新。

这是我到目前为止所拥有的。它似乎对我不起作用。

$name = $_GET['n'];
$action = $_GET['a'];
$result = mysql_query("SELECT * FROM players WHERE Username ='".$name."'");

while($row = mysql_fetch_array($result)) {
  if ($action = "rankup") mysql_query("UPDATE players SET Level 'Level+1' WHERE Username='".$name."'");
}

mysql_close($con);

我没有收到任何错误,但它不起作用,并且所有数据库连接都很好。

我不知道问题是什么。

4

2 回答 2

2

这里有几个错误:

  • 你没有清理你的输入,请阅读SQL 注入
  • 您没有检查mysql_query. 查询SET Level 'Level+1'无效,您忘记了 a=并删除引号
  • $action == 'rankup', 不是=
  • 请考虑在新项目中使用PDO,它是一种比mysql_函数更好的接口。
于 2012-07-11T22:00:26.227 回答
1

你想像这样输入你的 sql 查询

'UPDATE players SET Level= (Level+1)  WHERE Username='.$name.'

此外,任何以 mysql 开头的数据库函数都应替换为 mysqli。这是因为 PHP 在下一版中将逐步淘汰以 mysql 开头的函数。

于 2012-07-11T22:03:38.003 回答