Php 检查表中是否存在具有的数据
如何查找表并搜索是否存在行。它后面的桌子叫做敌人。每一行都有一个唯一的id,并设置为自动递增。每行还具有一个称为monsterid的唯一值。怪物id不是自动递增的 当怪物死亡时,该行被删除并替换为新行。所以id总是在变化。同时怪物ID也被改变了 我在php中使用$_GET方法,monsterid正在通过它, 基本上,我正在努力做到这一点 $monsterID=334322//这是通过$\u GET传递的id checkMonsterId=“检查敌人表中是否存在怪物id” 如果monsterid存在,则Php 检查表中是否存在具有的数据,php,mysql,Php,Mysql,如何查找表并搜索是否存在行。它后面的桌子叫做敌人。每一行都有一个唯一的id,并设置为自动递增。每行还具有一个称为monsterid的唯一值。怪物id不是自动递增的 当怪物死亡时,该行被删除并替换为新行。所以id总是在变化。同时怪物ID也被改变了 我在php中使用$_GET方法,monsterid正在通过它, 基本上,我正在努力做到这一点 $monsterID=334322//这是通过$\u GET传递的id checkMonsterId=“检查敌人表中是否存在怪物id” 如果monsterid存
{运行PHP} 否则
{运行PHP}
如果你还需要澄清,请询问。提前感谢您的帮助。使用
count
!如果它返回>0,则它存在,否则它不存在
select count(*) from enemies where monsterid = 334322
您可以在PHP中使用它(连接到数据库后):
使用
计数
!如果它返回>0,则它存在,否则它不存在
select count(*) from enemies where monsterid = 334322
您可以在PHP中使用它(连接到数据库后):
mysql\u real\u escape\u字符串对于防止这种情况非常重要
mysql\u real\u escape\u字符串对于防止这种情况非常重要 使用count,比如 从怪物ID=334322的敌人中选择计数(*) 但是,请确保已将monsterid上的索引添加到表中。原因是,如果您不这样做,并且这不是主键,那么rdbms将被迫发出一个完整的表扫描——读取每一行——以返回值。在小型数据集上,这并不重要,因为表可能无论如何都会位于核心中,但一旦行数变得重要,并且您要点击磁盘进行扫描,速度差很容易达到两个数量级或更多 如果行数非常少,那么不索引是合理的,因为在插入数据时使用非主键索引需要额外的开销,但是这应该是一个明确的决定(我经常给客户留下深刻印象,这些客户使用一个程序员,他不了解数据库,通过向表中添加索引,这在程序员创建表时是很好的,但在加载真实数据量时,随后会慢到爬行的速度——非常令人惊讶的是,添加索引的一行sql将为您赢得客户眼中的大师地位,因为您做出了他的选择。)阀杆(可再次使用) 如果您使用subselect对数据库进行更复杂的查询,比如查找没有怪物的所有位置,然后查找sql EXISTS子句的用法。这通常被程序员忽略(诱惑是返回实际值的计数)而且使用它通常比其他方法更快。使用计数,如 从怪物ID=334322的敌人中选择计数(*) 但是,请确保您已经在表中添加了monsterid索引。原因是,如果您没有添加索引,并且这不是主键,那么rdbms将被迫执行完整的表扫描(读取每一行)以返回值。在小数据集上,这并不重要,因为表可能仍然位于核心中,但一旦不在核心中行的数量变得非常重要,你正在点击磁盘进行扫描,速度差很容易达到两个数量级或更多 如果行数非常少,那么不索引是合理的,因为在插入数据时使用非主键索引需要额外的开销,但是这应该是一个明确的决定(我经常给客户留下深刻印象,这些客户使用一个程序员,他不了解数据库,通过向表中添加索引,这在程序员创建表时是很好的,但在加载真实数据量时,随后会慢到爬行的速度——非常令人惊讶的是,添加索引的一行sql将为您赢得客户眼中的大师地位,因为您做出了他的选择。)阀杆(可再次使用) 如果您使用subselect对数据库进行更复杂的查询,比如查找没有怪物的所有位置,然后查找sql EXISTS子句的用法。这通常被程序员忽略(诱惑是返回实际值的计数)而且使用它通常比替代品更快。更简单: 从怪物ID=334322的敌人中选择1 如果它返回一行,则有一行,如果没有,则没有。更简单: 从怪物ID=334322的敌人中选择1
如果它返回一行,你就有一行,如果没有,你就没有了。谢谢你Eric,谢谢你的回复。我现在似乎得到了资源#ID 5。我得到了它。使用你的方法。再次感谢你Eric的帮助。谢谢你Eric,谢谢你的回复。我现在似乎得到了资源#ID 5。我得到了它。使用你的方法。再次感谢你Eric的帮助帮助。我一定会调查EXISTS条款。谢谢你的建议。我一定会调查EXISTS条款。谢谢你的建议。
$monsterid = mysql_real_escape_string($_GET['monsterid']);
$query = intval(mysql_query("SELECT count(*) FROM enemies WHERE monsterid = '$monsterid'));
if (mysql_result > 0) {
// monster exists
} else {
// monster doesn't exist
}