我收到了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
。可能是因为它转向其他。但没有得到可能的原因。我编辑了代码。
答案 0 :(得分:1)
这意味着字符串没有explode
分为两部分,结果数组没有偏移1
。你不应该list()
- 分配变量,除非你有2000%确定在你指定的数组中有那么多索引。在这种情况下,它不受你的控制,所以你最好先检查一下。