通过SQL和PHP将用户添加到事件中

时间:2014-03-28 16:16:54

标签: php mysql sql function

我有一个网页,允许用户注册参加活动。这工作正常,但我想添加一个用户不能多次注册同一事件。所以我使用select语句检查是否存在与用户输入电子邮件和所需事件匹配的记录。如果存在记录,则返回值1或更大,结果通知用户他们已经注册。但是,无论选择哪个电子邮件或事件,我的代码都返回值1。任何帮助将不胜感激。

 $sql2= "SELECT COUNT*
    FROM event_attendees
    WHERE event_name='$reg' AND user_email='$email'";
$r=mysql_query($sql2,$conn)or die(mysql_error());
if($r=1)
    {
        echo"Already Registered for this event";
        echo $r;
    }

3 个答案:

答案 0 :(得分:2)

应该是if($r==1)而不是if($r=1)

您正在进行作业而非比较。更改它,您的代码将按预期工作。


mysql_*)扩展程序自PHP 5.5.0起已弃用,将来会被删除。相反,应使用MySQLiPDO_MySQL扩展名。切换到PreparedStatements甚至可以更好地抵御SQL注入攻击!

答案 1 :(得分:0)

使用

if((int)$r === 1)
{

}

=表示授予 ==表示相等的 ===表示相同且类型相同

答案 2 :(得分:0)

你有几个问题:

  1. MySQL的正确语法是SELECT COUNT(*) FROM...

  2. 在条件语句中,您有if($r=1) - 即将值1分配给$r。您需要if($r==1)

  3. mysql_query返回资源,而不是您期望的计数。你需要做更多的工作来从反应中获得计数。