繁体   English   中英

mysql_num_rows,如果计数大于1

[英]mysql_num_rows if count is greater than 1

我正在使用Mysql_num_rows来获取数据(他们的电子邮件和IP),如果所说的用户已经输入了数据,它将被拒绝,但是如果没有,则它会成功。

但是,如果我更改IP仍然可以成功,什么时候不应该,因为即时通讯仍在使用相同的电子邮件? 它不会同时检查电子邮件和IP。 Thankyew提前'-'

$query = "SELECT * FROM tbl_1 WHERE Email='$Email' AND IP='$ip'";
$Result = mysql_query($query) or die ('unable to run: ' .mysql_error());
$count = mysql_num_rows($Result);

if($count==1) 
{
echo 'You have already entered this competition!';
}
else {
echo 'success';
}

您的代码包含WHERE Email='$Email' AND IP='$ip'";但是您in a comment写道:

““ $ Email = $ _ POST ['email'];来自提交表单,而IP来自代码:$ IP = $ _SERVER [” REMOTE_ADDR“];位于此脚本页面的顶部”

您正在使用$IP = $_SERVER["REMOTE_ADDR"]; 您应该在哪里使用

$ip = $_SERVER["REMOTE_ADDR"];

WHERE Email='$Email' AND IP='$IP'";

$IP$ip是不同的东西,它们是“完全两种不同的动物” -
变量区分大小写。

旁注:您可以使用OR代替AND ,如果有人尝试使用其他电子邮件但具有相同的IP进行注册(反之亦然),则他们将无法这样做。


脚注:

mysql_*函数弃用通知:

http://www.php.net/manual/en/intro.mysql.php

自PHP 5.5.0起不推荐使用该扩展,不建议编写新代码,因为将来会删除该扩展。 相反,应使用mysqliPDO_MySQL扩展名。 另请参见MySQL API概述,以获取选择MySQL API时的更多帮助。

这些功能使您可以访问MySQL数据库服务器。 有关MySQL的更多信息,请参见» http://www.mysql.com/

可以在» http://dev.mysql.com/doc/中找到MySQL的文档。

你可以这样尝试,有点不同

$query = "SELECT COUNT(*) as count Email, IP FROM tbl_1 WHERE Email='$Email' AND IP='$ip'";
$Result = mysql_query($query);
if($Result){
    $row = mysql_fetch_assoc($Result);
    if((int)$row['count'] > 0) 
    {
        echo 'You have already entered this competition!\n';
        echo $row['Email'];
        echo $row['IP'];
    }
    else {
        echo 'success';
    }
}else{
    die ('unable to run: ' .mysql_error());
}

首先,您应该对查询中使用的变量使用mysql_fetch_assoc()

检查列名是否正确编写,您应该这样做:

$query = "SELECT * FROM tbl_1 WHERE Email='$Email' AND IP='$ip'";
$Result = mysql_query($query) or die ('unable to run: ' .mysql_error());

if(mysql_num_rows($Result)) 
{
    echo 'You have already entered this competition!';
}
else {
    echo 'success';
}

因为可能您在mysql中用此电子邮件和ip记录了1条以上的记录,所以表示成功

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM