未知列,错误

时间:2013-03-29 00:12:41

标签: php mysql

有人可以帮助我解决这个错误,我找不到问题。 我知道我的代码是废话,我应该使用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'; ?>

任何hellp将非常感激:)

1 个答案:

答案 0 :(得分: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指令发生了同样的错误。

你知道,但无论如何我会说:使用PDOmysqli。至少,使用mysql_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'])."'")

我只是这样说,因为从长远来看它会帮助你,这就是