繁体   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