Mysql查询错误 - 自动硬币添加

时间:2013-03-07 14:17:58

标签: php mysql

我有一些错误,md100sms.php没有在硬币栏中向数据库添加硬币

<?PHP
  if(isset($_GET['do']) && $_GET['do']=="aktivieren" && isset($_GET['hash']) && !empty($_GET['hash'])) {
    echo '<div class="main main_top">
    Information
</div>
<div class="main main_content">';
    if(strlen($_GET['hash'])==32 && $_GET['hash']!=1 && checkAnum($_GET['hash'])) {
      $cmdHash = "SELECT id,web_aktiviert FROM account.account WHERE web_aktiviert='".$_GET['hash']."' AND web_aktiviert!='1' LIMIT 1;";
      $qryHash = mysql_query($cmdHash,$sqlServ);

      if(mysql_num_rows($qryHash)) {

        $getData = mysql_fetch_object($qryHash);
        $userUpdate = "UPDATE account.account SET web_aktiviert='1',status='OK' WHERE id='".$getData->id."' LIMIT 1;";
        $updateQry = mysql_query($userUpdate,$sqlServ);

        if($updateQry) {
          echo'Ihr Account wurde erfolgreich aktiviert. Sie k&ouml;nnen sich nun einloggen.';
          echo'<meta http-equiv="refresh" content="1; URL=index.php?s=login"> ';
        }
        else {
          echo'Query fehlgeschlagen. Bitte einen Admin kontaktieren!';
        }

      }
      else {
        echo'Es wurde kein passender Eintrag gefunden. Aktivierung fehlgeschlagen.';
      }

    }
    else {
      echo'Kein valider Hash!';
    }
    echo '</div>
<div class="main main_bottom">
</div>';
  }

  if(!empty($_SESSION['user_id'])) 
  {
    echo '<div id="con-top" class="post-top1">Login</div>
<div id="con-mid">
    ';
    echo'<ul style="margin-top:0;">';
    if($_SESSION['user_admin']>0) {
      echo'<li><a href="index.php?s=admin">Administrar</a></li>';
    }
    if($_SESSION['user_admin']>=0) {
      echo'<a href="index.php?s=itemshop"><input type="submit" class="btn" value="ItemShop" name="submit"></a>&nbsp;&nbsp;';
      echo'<a href="index.php?s=spenden"><input type="submit" class="btn" value="Comprar Moedas" name="submit"></a>&nbsp;&nbsp;';
      echo'<a href="index.php?s=charaktere"><input type="submit" class="btn" value="Personagens" name="submit"></a>&nbsp;&nbsp;';
      echo'<a href="index.php?s=passwort"><input type="submit" class="btn" value="Alterar Dados" name="submit"></a>&nbsp;&nbsp;';
        echo'<a href="index.php?s=Vote"><input type="submit" class="btn" value="Votar no Servidor" name="submit"></a>&nbsp;&nbsp;';
    }    
    $cmdStats = "SELECT SUM( player.playtime ) AS ges_spielzeit, COUNT( * ) AS ges_chars, player_index.empire
    FROM player.player
    INNER JOIN player.player_index ON player_index.id = player.account_id
    WHERE player.account_id = '".$_SESSION['user_id']."'
    LIMIT 1";

    $qryStats = mysql_query($cmdStats,$sqlServ);
    $getStats = mysql_fetch_object($qryStats);

    if(!empty($getStats->empire)) {
      $reich = '<img src="img/reiche/'.$getStats->empire.'.png" title="Reino" alt="Reino"/>';
    }
    else {
      $reich='Conta sem reino.';
    }


    echo'<table>
      <tr>
        <th class="topLine">ID:</th>
        <td class="tdunkel">'.$_SESSION['user_name'].'</td>
      </tr>
      <tr>
        <th class="topLine">Reino:</th>
        <td class="thell">'.$reich.'</td>
      </tr>
      <tr>
        <th class="topLine">Personagens:</th>
        <td class="tdunkel">'.$getStats->ges_chars.'</td>
      </tr>
      <tr>
        <th class="topLine">Tempo de Jogo:</th>
        <td class="thell">'.$getStats->ges_spielzeit.' Minutos</td>
      </tr>';
    $sqlAcc = "SELECT account.social_id AS loeschcode, safebox.password AS lagerpw
    FROM account.account 
    LEFT JOIN player.safebox 
    ON account.id=safebox.account_id 
    WHERE account.id='".$_SESSION['user_id']."'";

    $qryAcc = mysql_query($sqlAcc) or die(mysql_error());
    $getAcc = mysql_fetch_object($qryAcc);

    if(empty($getAcc->lagerpw)) $getAcc->lagerpw = '000000';

      echo'<tr style="margin-bottom:0;">
        <th class="topLine">Codigo Personagem:</th>
        <td class="tdunkel">'.$getAcc->loeschcode.'</td>
      </tr>
    </table>
</div>
<div id="con-bot"></div>    </div>';
  }
  else 
  {
  ?>
<div id="con-top" class="post-top1">Entrar</div>
<div id="con-mid">
<form action="index.php?s=login" method="POST" class="login">
      <input type="text" class="bar" name="userid" onFocus="if(this.value=='Oseuid') this.value=''" onBlur="if(this.value=='')this.value='Oseuid'" value="Oseuid">
      <input type="password" class="bar" name="userpass" onFocus="if(this.value=='Passwortpasswort') this.value=''" onBlur="if(this.value=='')this.value='Passwortpasswort'" value="Passwortpasswort">
      <input type="submit" class="btn" value="LOGIN" name="submit">
      <span><br>
       <a href="index.php?s=register">Criar um nova conta!</a><br />
       <a href="index.php?s=lostpw">Esqueceste a senha?</a>
      </span>
    </form>
</div>
<div id="con-bot"></div>    </div>
  <?PHP
  }
?>

md100sms.php

<div id="con-top" class="post-top1">Moedas Automaticas - 100 Moedas</div>
<div id="con-mid">

<font color="green">Moedas compradas com sucesso.<br>
Foram adicionadas <font color="white">100</font> Moedas à tua conta.</font>
<?PHP
          $sqlCmd = sprintf("UPDATE account.account SET coins = coins +100 WHERE id = '.$_SESSION['user_id'].'")
  ?>

</div>
<div id="con-bot"></div></div>

当我转到md100sms.php时,页面显示:Successful added coins, 100 coins.

但是当我在数据库上看到我的帐户时,它继续使用相同的硬币。

4 个答案:

答案 0 :(得分:0)

这里引号有问题。变化

$sqlCmd = sprintf("UPDATE account.account SET coins = coins +100 WHERE id = '.$_SESSION['user_id'].'"

$sqlCmd = "UPDATE account.account SET coins = coins +100 WHERE id = '".$_SESSION['user_id']."'"

答案 1 :(得分:0)

你把报价稍微混淆了一下。试试这个:

$sqlCmd = sprintf("UPDATE account.account SET coins = coins +100 WHERE id = '" . $_SESSION['user_id'] . "'");

答案 2 :(得分:0)

替换:

$sqlCmd = sprintf("UPDATE account.account SET coins = coins +100 WHERE id = '.$_SESSION['user_id'].'")

: -

$sqlCmd = sprintf("UPDATE account.account SET coins = coins +100 WHERE id = '{$_SESSION['user_id']}'");

(我在行尾添加了一个分号并更正了会话变量的语法。)

答案 3 :(得分:0)

尝试将session_start();添加到页面顶部。

另外,检查查询的引号。尝试:

$sqlCmd = sprintf("UPDATE account.account SET coins = coins + 100 WHERE id = '".$_SESSION['user_id']."'");