这应该是一个相对简单的编码过程,但是由于某种原因,我无法使其正常工作.
我想做什么
成员参加比赛,您只能参加一次.要阻止成员多次输入,请使用以下代码
//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?