4

誰かが私が得ているこのエラーを手伝ってもらえますか? 問題が見つかりません. 私は自分のコードがくだらないことを知っており、PDO を使用する必要があります。

ゲームのトレード スクリプトを作成しようとしています。これは、ユーザーがトレードを承認または拒否するページです。まだ拒否機能を追加しようとはしていません。今のところ、このエラーが発生します。

「フィールド リスト」の列「ニックネーム」が不明です

<?php


    if ($_POST['A'] == '1' ) {
$token= mysql_real_escape_string($_POST['token']);
$tokenn = strip_tags($token);


$sql234 = "SELECT * FROM trade WHERE trade_to='".$_SESSION['username']."'";
$result2 = mysql_query("SELECT * FROM trade WHERE trade_to='".$_SESSION['username']."'");
while($row2 = mysql_fetch_array($result2)){


$sql23 = "SELECT * FROM users WHERE username='".$_SESSION['username']."')";
$result = mysql_query("SELECT * FROM users WHERE username='".$_SESSION['username']."'");
while($row = mysql_fetch_array($result)){

if (isset($_POST['slot1'])) {

        echo "<p>You have accepted the trade.</p>" ;
        mysql_query("UPDATE user_pokemon SET belongsto=".$row2['trade_to']." WHERE id='".$row2['trade_pokeid']."'") 
            or die(mysql_error());

        mysql_query("UPDATE user_pokemon SET belongsto=".$row2['trade_from']." WHERE id='".$row2['trade_mypokeid']."'")
            or die(mysql_error());

            mysql_query("DELETE FROM trade WHERE trade_id=".$row2['trade_id']."")
            or die(mysql_error());


    } else {

}
}
}


}

?>

<?php
$result = mysql_query("SELECT * FROM trade WHERE trade_to='".$_SESSION['username']."'");
while($row = mysql_fetch_array($result))
{   

$idd= mysql_real_escape_string($row['trade_id']);
$iddd = strip_tags($idd);

?>
</span>
<form name="slot1" action="" method="post">
  <div align="center">
    <p>
      <span>
        <select name="A" id="" >
          <option value="1">Buy</option>
        </select>
        <input type="hidden" name="token" id="token" value="<?php  echo $iddd ;  ?>" />
        <br />
        <input type="submit" class="submit" value="Accept" name="slot1">
        </span></p>


    </div>
</form>
<span>
<?php
echo $row ['trade_id'];
}
?>

</span>

</p>
</div>
</center>


</td>

<?php include 'includes/bottom.php'; ?>

どんな助けでも大歓迎です:)

4

1 に答える 1

4

この行で:

 mysql_query("UPDATE user_pokemon SET belongsto=".$row2['trade_from']." WHERE id='".$row2['trade_mypokeid']."'")

最初のパラメータを引用するのを忘れました:

 mysql_query("UPDATE user_pokemon SET belongsto='".$row2['trade_from']."' WHERE id='".$row2['trade_mypokeid']."'")

mysql_queryコード内の次の 2 つの命令で同じエラーが発生します。

あなたはそれを知っていますが、とにかくそれを言うつもりです:またはを使用してください. 少なくとも、コードの冒頭で行ったように、 を使用してすべてのデータをサニタイズします。PDOmysqlimysql_real_escape_string

 mysql_query("UPDATE user_pokemon SET belongsto='".mysql_real_escape_string($row2['trade_from'])."' WHERE id='".mysql_real_escape_string($row2['trade_mypokeid'])."'")

長期的にはあなたを助けるので、私はこれを言っているだけです。

于 2013-03-29T00:20:51.547 に答える