错误:[1] 0:{message:“Undefined offset:1}

时间:2013-04-18 07:03:31

标签: php

我收到了php错误errors: [1] 0: { message: "Undefined offset: 1 (Error Number: 8), (File: /Users/akashpatel/Documents/iOS development/RideShare/RideShareAPI/src/frapi/library/Frapi/Controller/Api.php at line 299)" name: "PHP Notice error" at: "" }

以下是代码。

if (isset($_SERVER['HTTP_LOGIN'])) 
    {
        list($userId, $apiKey) = explode(':',  base64_decode($_SERVER['HTTP_LOGIN']));

        $this->setUserId($userId);
        $this->setApiKey($apiKey);

        //check against DB
        $sql = "SELECT * from user WHERE id=:userId AND apiKey=:apiKey";

        $stmt = $db->prepare($sql);

        $stmt->bindParam(':userId', $this->getUserId());
        $stmt->bindParam(':apiKey', $this->getApiKey());                        

        try 
        {
            $stmt->execute();
            $user = $stmt->fetchObject();
        }
        catch(PDOException $err)
        {
            echo $err->getMessage();
        }

        if ($user == null)
            throw new Frapi_Error('STATUS_FORBIDDEN');
    }
    else
    {
        $this->userName = false;
        $this->apiKey = false;

        throw new Frapi_Error(
            Frapi_Error::ERROR_INVALID_ACTION_REQUEST_NAME,
            Frapi_Error::ERROR_INVALID_ACTION_REQUEST_MSG,
            Frapi_Error::ERROR_INVALID_ACTION_REQUEST_NO,
            Frapi_Error::ERROR_INVALID_ACTION_REQUEST_HTTP_MSG
        );
    } 

提前致谢。

编辑: 对不起大家。我传递了错误的值。现在我使用正确的,但收到错误ERROR_INVALID_ACTION_REQUEST。可能是因为它转向其他。但没有得到可能的原因。我编辑了代码。

1 个答案:

答案 0 :(得分:1)

这意味着字符串没有explode分为两部分,结果数组没有偏移1。你不应该list() - 分配变量,除非你有2000%确定在你指定的数组中有那么多索引。在这种情况下,它不受你的控制,所以你最好先检查一下。