<?php
if (isset($_GET['cid'])&&(!is_numeric($_GET['cid']))) {NewUrl (1,'ID参数出现非数字错误!','-1');}
$nLink = $db->SelectSQL("SELECT `ColumnRela`,`ColumnName` FROM `" . $dbprefix . "column` WHERE `ID` = '" . $_GET['cid'] . "'");
if (isset($_GET['cid'])&&(count($nLink)==0)){NewUrl (1,'不存在的分类!','-1');}
?>这里为页面接收了一个名为cid的参数,我想当这个参数存在的时候才判断它是否是个合法的参数类型和在数据库是否存在,这个前面类型判断貌似没错,后面判断在数据库里是否存在好像出了错误,当这个参数为空时也总提'不存在的分类!'哪位高人来指点一下问题出在哪里?
if (isset($_GET['cid'])&&(!is_numeric($_GET['cid']))) {NewUrl (1,'ID参数出现非数字错误!','-1');}
$nLink = $db->SelectSQL("SELECT `ColumnRela`,`ColumnName` FROM `" . $dbprefix . "column` WHERE `ID` = '" . $_GET['cid'] . "'");
if (isset($_GET['cid'])&&(count($nLink)==0)){NewUrl (1,'不存在的分类!','-1');}
?>这里为页面接收了一个名为cid的参数,我想当这个参数存在的时候才判断它是否是个合法的参数类型和在数据库是否存在,这个前面类型判断貌似没错,后面判断在数据库里是否存在好像出了错误,当这个参数为空时也总提'不存在的分类!'哪位高人来指点一下问题出在哪里?
// NewUrl (1,'不存在的分类!','-1');
//}
if (is_numeric($_GET['cid']))) {NewUrl (1,'ID参数出现非数字错误!','-1');}
if (isset($_GET['cid'])&&(!is_numeric($_GET['cid'])))
{
NewUrl (1,'ID参数出现非数字错误!','-1');}
//当这个参数cid为空时继续执行下面这条语句
$nLink = $db->SelectSQL("SELECT `ColumnRela`,`ColumnName` FROM `" . $dbprefix . "column` WHERE `ID` = '" . $_GET['cid'] . "'");
//由于已经设置参数cid, 即使参数cid为空,isset($_GET['cid'])结果也是真的!
但是count($nLink)==0)这个是假!所以报:不存在的分类!
if (isset($_GET['cid'])&&(count($nLink)==0)){NewUrl (1,'不存在的分类!','-1');}?>
代码逻辑似乎有问题:
<?php
if (isset($_GET['cid'])&&(!is_numeric($_GET['cid'])))
{
NewUrl (1,'ID参数出现非数字错误!','-1');
exit;//退出}
$nLink = $db->SelectSQL("SELECT `ColumnRela`,`ColumnName` FROM `" . $dbprefix . "column` WHERE `ID` = '" . $_GET['cid'] . "'");//如果$nLink是经过mysql_query和mysql_fetch_array()的结果下面可以执行:
if (count($nLink)==0){NewUrl (1,'不存在的分类!','-1');}?>