我找不到任何错误...这应该可行吗?
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.
}
答案 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']);