Php 如果怪物id不存在,我如何执行程序?

Php 如果怪物id不存在,我如何执行程序?,php,mysql,Php,Mysql,这是我当前的代码 $monster_result = mysql_query("SELECT * FROM xx_monsters WHERE MonsterId = '$monster_id'") or die(mysql_error()); $char_result = mysql_query("SELECT * FROM xx_characters WHERE id = '" . $char_id . "'") or die(mysql_error()); $char = mysq

这是我当前的代码

    $monster_result = mysql_query("SELECT * FROM xx_monsters WHERE MonsterId = '$monster_id'") or die(mysql_error());
$char_result = mysql_query("SELECT * FROM xx_characters WHERE id = '" . $char_id . "'") or die(mysql_error());
$char = mysql_fetch_assoc($char_result);

if (mysql_num_rows($monster_result) > 0) {
    $monster_result = mysql_query("SELECT * FROM xx_monsters WHERE MonsterId = " . $monster_id) or die(mysql_error());
   //I tried adding this, but for some reason it messed up the entire thing
   //exec("/usr/local/bin/lostID $monster_id");
} else {
    $level = $char['level'] + 1;
    $level2 = $char['level'] - 10;
    $monster_result = mysql_query("SELECT * FROM xx_monsters WHERE Level < " . $level . " AND Level > " . $level2 . " AND ExtraData != 'trainer' AND ExtraData != 'starter' ORDER BY RAND() LIMIT 1") or die(mysql_error());
}
$monster = mysql_fetch_assoc($monster_result);
$monster_result=mysql_query(“从xx_monster中选择*,其中monster id='$monster_id'))或死亡(mysql_error());
$char\u result=mysql\u query(“从xx\u个字符中选择*,其中id=”“$char\u id.””)或die(mysql\u error());
$char=mysql\u fetch\u assoc($char\u result);
如果(mysql_num_rows($monster_result)>0){
$monster_result=mysql_query(“从xx_怪物中选择*,其中MonsterId=“.$monster_id”)或死亡(mysql_error());
//我试着加上这个,但由于某种原因,它把整个事情搞砸了
//exec(“/usr/local/bin/lostID$monster_id”);
}否则{
$level=$char['level']+1;
$level2=$char['level']-10;
$monster_result=mysql_query(“从xx_monster中选择*,其中级别<”$Level.”和级别>“$level2.”和ExtraData!='trainer'和ExtraData!='starter'顺序按兰德()限制1”)或死亡(mysql_error());
}
$monster=mysql\u fetch\u assoc($monster\u result);

我也试着在else下添加它,但它会使页面完全空白,后面有echo语句。有什么问题吗?

试试函数
isset($variable\u name)
我建议使用

如果(!空($monster_id)){

//你的代码在这里

}


Empty函数还将确保变量值不应为null或空字符串

您的意思是如果数据库中不存在特定ID?或者如果用户没有提供ID?(无论如何,我不清楚为什么要重复查询两次,一次是作为第1行的字符串,一次是作为第4行的数字:如果显示DB模式,可能会有所帮助。在两种情况下都回显查询并直接运行到mysqlparticualr id。我不确定
>0
行的作用,我在遵循一些教程时对其进行了编码。