我很喜欢在第一方做2个if语句,如果设置提交
if(isset($_POST['submit']))
{
$myName = mysql_real_escape_string($_POST['myName']);
$mydropdown = mysql_real_escape_string($_POST['mydropdown']);
$sql = "SELECT * FROM user_pokemon WHERE id='{$myName}' AND slot='{$mydropdown}' LIMIT 1 ";
$result = mysql_query($sql) or die(mysql_error());
// here we check to see if the username is all ready in the db
$sql2 = "SELECT * FROM user_pokemon WHERE slot='{$mydropdown}' AND belongsto = '{$_SESSION['username']}' LIMIT 1 ";
$result2 = mysql_query($sql2) or die(mysql_error());
if (mysql_num_rows($result2)==1) {
echo 'A monster is all ready in that slot';
}else{
$battle_get = mysql_fetch_array($result);
$result = mysql_query("UPDATE user_pokemon SET slot='{$mydropdown}' WHERE id = '{$myName}'")
or die(mysql_error());
}
}
对于某些奇怪的压力,即使行计数为1,它也会继续执行其他操作。我想我把我从来没有做过的{和}混在一起了,如果雄蕊是为了的,如果可以的话,我就做donno??
我想看看老虎机里有没有怪物。用户有6个插槽,可以吗?还有一个盒子。这个脚本从盒子里挑选一个怪物,并将怪物插入6个插槽中的1个(他们选择哪个插槽)。现在我需要制作它,这样如果插槽中有一个怪物准备好了,它就不会将怪物添加到插槽中,因为它会摆脱旧怪物。。。。。
this:
belongsto = '".$_SESSION{'username'}."'
应该是:
belongsto = '{$_SESSION['username']}'
为了让代码对其他人更具可读性,请尝试添加更多更好的注释。
此外,由于if(mysql_num_rows($result2) == 1)
,如果也有超过1个条目,则会运行else,我认为您不希望发生这种情况。也许你想放一个>= 1
。
正如jgibson所说,更改$session上的括号,但如果将查询限制为1个结果,则不需要检查num_rows == 1
,只需检查是否有结果即可。多余的代码会使事情变得混乱和难以调试。
编辑时间:另外,为什么在同一个if
块中有2个查询和2个结果?您不会对该块中的第一个查询/结果执行任何操作,因此应该将其删除。事实上,从您提供的代码来看,您似乎根本没有使用该查询。