php-计数表中的成员数不得超过一个

这应该是一个相对简单的编码过程,但是由于某种原因,我无法使其正常工作.

我想做什么

成员参加比赛,您只能参加一次.要阻止成员多次输入,请使用以下代码

//Check If user allready entered comp
$sql="SELECT member_nr, count(member_nr) as entered FROM competition WHERE member_nr ='$memNr' and competition = '$comp'";
$result = mysql_query( $sql ) or trigger_error( mysql_error() . " in " . $sql );

while($row = mysql_fetch_array($result)){
    $isEntered = $row['entered'];   
}//end while`

if($isEntered >1  ){
?>
    <h1>You have allready entered</h1>
<?
}//end check if entered allready

我的问题

我收到错误通知:未定义的偏移量:1

我不能为我的生活弄清楚为什么要得到这个,我猜我的sql查询不正确…任何建议将不胜感激

解决方法:

您仅获取一列和一个字段,然后为什么要在循环中使用它.

只需使用它,

$sql="SELECT member_nr, count(member_nr) as entered 
      FROM competition 
      WHERE member_nr ='$memNr' and competition = '$comp' LIMIT 1";
$result = mysql_query( $sql ) or trigger_error( mysql_error() . " in " . $sql );

$isEntered = mysql_result($result,0);
if($isEntered > 1) echo "<h1>You have allready entered</h1>";

另一点是,不建议使用mysql函数.最好使用mysqli_或PDO.

阅读:
Why shouldn’t I use mysql_* functions in PHP?

上一篇:mysql-以特定顺序从数据库中获取数据


下一篇:PHP-MySQL查询从10,000个数据中检索速度太慢(查询优化)