试图在MySQL数据库表中存储/保存分数

时间:2016-02-25 02:34:38

标签: php mysql session

我正在使用PHP和MySQL构建测验程序。

我构建了测验程序,以便:一遍又一遍地调用相同的文件( Quiz.php ),但每次都从数据库中选择一个新问题。

MySQL数据库包含一个字段" my_score"。每当玩家正确回答问题时,得分为" 1"加到他目前的分数。玩家点击" 下一步",然后重新处理SAME文件(Quiz.php)

每当他错误地回答,没有任何反应。测验只是退出。

我知道这个问题很简单,但我似乎无法正确理解逻辑。我尝试过使用$ _SESSION,但当然,这并不起作用,因为变量仅在用户登录时存储。如果他退出,然后又回来玩,那么" 得分"重置为1.

我想要的是使用每个正确的答案在数据库中更新分数。

  if ($selected_radio == $correct) {   // if player selects correct answer..

  $_SESSION['quiz_score'] += 1;

  $my_score = $_SESSION['quiz_score'];

  $update_score = "Update my_table

  set my_score = $my_score where login = '".$_SESSION['login']."'";

  $result_update_score = mysqli_query($conn,$update_score);

然后,我删除了$ _SESSION变量,只使用了$ my_score:

  if ($selected_radio == $correct) {     

  $my_score += 1;

  $update_score = "Update my_table

  set my_score = $my_score where login = '".$_SESSION['login']."'";

它给出了相同的结果。

1 个答案:

答案 0 :(得分:1)

您是否尝试过使用$ update_score ="更新my_table

设置my_score + = $ my_score,其中login ='"。$ _ SESSION [' login']。"'";

所以积分会再次累加到数据库中存储的分数上吗?