函数

时间:2017-03-08 00:41:05

标签: php mysql function if-statement

我目前正在使用一个函数来获取所有用户的信息,然后完成一些阶段。我想知道这不是最好的方法。

我目前使用的是什么

function GetUserInfo()
{
    if(!$this->DBLogin())
    {
        $this->HandleError("Database login failed!");
        return false;
    }

    $conn = $this->connection;
    $query = "SELECT * FROM $this->tablename WHERE account=?";
    $query = $conn->prepare($query);
    $query->execute([$_SESSION['uid']]);
    $row = $query->fetch();

    return $row;
}

然后

if ($row['status'] == 0)
{
    // Do something here
}
elseif ($row['info'] == "Bazinga")
{
    // Do something here
}
else
{
    // Do something here
}

我想的替代方案是这样的(加上用于验证每个阶段的更多功能)

function CheckStageA()
{
    if(!$this->DBLogin())
    {
        $this->HandleError("Database login failed!");
        return false;
    }
    $conn = $this->connection;
    $query = "SELECT status FROM $this->tablename WHERE account=?";
    $query = $conn->prepare($query);
    $query->execute([$_SESSION['uid']]);
    $row = $query->fetch();
    if($row['status'] == 0)
    {
        return false;
    }

    return true;
}

有这样的东西

if ($checking->CheckStageA())
{
    // Do something here
}
elseif ($checking->CheckStageB())
{
    // Do something here
}
else
{
    // Do something here
}

好吧我想的替代品需要更多编码,但也许这是一种更合适的方法。

0 个答案:

没有答案