簡體   English   中英

PHP-IF語句

[英]PHP - IF statement

function IsEmailRegistered($Email){
    global $con;
    $result = mysqli_query($con,"SELECT email FROM Users WHERE email = '" . $Email . "'");
    if (mysqli_num_rows($result) > 0){
        return True;
    }else{
        return False;
    };
};

這是一個檢查電子郵件是否已注冊的函數,如果該電子郵件已注冊,則該函數返回1,如果未注冊,則不返回任何內容(而不是0)。 我在這里想念的是什么?

如果結果為1和0,則表示正在回顯。 您的代碼可能正確,只是誤解了

echo true; // screen will say 1
echo false; // screen will say 0
var_dump($var); // this will give you the value (true) and its type (boolean)

這總是返回true或false。 還為您的查詢添加了一個限制 ,您只需點擊1次即可對其進行檢查。 如果您需要確切數量的行,請指定它。 例如,當您需要1行時,請使用LIMIT 1 當您的站點增長時,這將節省寶貴的資源。
在這里,您可以優化功能(IMO)

function IsEmailRegistered($Email){
    global $con;
    $result = mysqli_query($con,"SELECT email FROM Users WHERE email = '".$Email."' LIMIT 1");
    return mysqli_num_rows($result)===1; // this function will return true/false
}

如果要堅持使用if / else,則可以使用三進制,下面的代碼將執行與代碼完全相同的操作:

return mysqli_num_rows($result) > 0 ? true : false;

我將true / false更改為小寫,為了保持一致性,始終將它們小寫。 您可能會遇到這樣的情況,您必須發送“ true”或“ false”,您不想因為使用大寫字母而浪費時間在不起作用的東西上:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM