有人可以帮助我解决这个错误,我找不到问题。 我知道我的代码是废话,我应该使用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将非常感激:)
答案 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
指令发生了同样的错误。
你知道,但无论如何我会说:请使用PDO
或mysqli
。至少,使用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'])."'")
我只是这样说,因为从长远来看它会帮助你,这就是