php如果条件

时间:2011-08-29 01:44:53

标签: php

我找不到任何错误...这应该可行吗?

function ConfirmedNumber()
{
$rs = mysql_query("CALL ConfirmedNumber('" , $_SESSION['UserID'] . "',@Active)");
    while ($row = mysql_fetch_assoc($rs))
    {
        if ($row['Active'] = 1)
        {
        return true;
        }
    }
return false;
}

假设Stored过程返回一个值为'1'的行,那么我可以像这样调用这个函数吗?

if (ConfirmedNumber())
{
//do some stuff.
}

3 个答案:

答案 0 :(得分:2)

扩展我的评论:

if ($row['Active'] = 1)应该if ($row['Active'] == 1)才能正常使用。

如果你想避免将来意外地这样做,你可以写下这样的if语句:

if (1 == $row['Active'])

这样,您就不会意外使用=,因为PHP会抛出致命错误。您可以阅读有关Comparison Operators at PHP.net

的更多信息

Comment below完整答案:

  

对存储过程的调用...行$ rs = mysql_query(“CALL ConfirmedNumber('”。$ _SESSION ['UserID']。“',@ Active)”);有逗号而不是初始帖子中的句号。

答案 1 :(得分:1)

您在IF语句中忘记了操作员。将其更改为:

if ($row['Active'] == 1)

甚至更短

if ($row['Active'])

答案 2 :(得分:0)

它可以是这样的

    function ConfirmedNumber($id)
    {
    $rs = mysql_query("CALL ConfirmedNumber('" . $id . "',@Active)");
        while ($row = mysql_fetch_assoc($rs))
        {
            if ($row['Active'] == 1)
            {
            return true;
            }
        }
    return false;
    }
ConfirmedNumber($_SESSION['UserID']);