簡體   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