为什么我的函数不能运行PHP?

时间:2013-09-17 02:45:20

标签: php

嘿,为什么我的函数在这里不起作用的是php代码,它用mysql_connect编写:

function isUserLoggedIn() {
    global $conn;
    $sql = "SELECT user_id, password FROM user
            WHERE
            user_id='" . fixstr($loggedInUser->user_id) . "' 
            AND 
            password='" . fixstr($loggedInUser->password) . "' 
            AND
            active = 1
            LIMIT 1";

    $res = mysql_query($sql);
    $rs = mysql_fetch_array($res);  

    if($loggedInUser($res) == NULL)
    {
        return false;
    }
    else
    {
        //Query the database to ensure they haven't been removed or possibly banned?
        if(returns_result($sql) > 0)
        {
                return true;
        }
        else
        {
            //No result returned kill the user session, user banned or deleted
            $loggedInUser->userLogOut();

            return false;
        }
    }
}

连接确实返回一个活动窗口,但无法连接到任何函数,有人知道为什么我的代码不能正常工作吗?

2 个答案:

答案 0 :(得分:2)

$loggedInUser不在范围内。

您可以执行以下操作之一:

  • 通过方法参数注入$loggedInUser 例如)function isUserLoggedIn($loggedInUser)
  • 本地构建或定义$loggedInUser
    例如)$loggedInUser = (new LoggedInUserFactory)->buildLoggedInUser();
  • 声明global $loggedInUser;

答案 1 :(得分:1)

除了Kita写的内容之外,还不知道$ conn是否有效,而且if($loggedInUser($res) == NULL)可能$rs不是$res?我不知道函数定义所以我不能肯定地说,但它看起来更像是