PHP Parse.com查询错误

时间:2013-01-19 23:38:06

标签: php api runtime-error parse-platform

我不知道你们中有多少人熟悉parse.com平台,但是我正在利用他们网站上链接的第三方php库,我遇到了几个问题。

链接:Parse.com PHP Library

我正在尝试查询我的数据库,但它一直返回Notice: Trying to get property of non-object.从我可以看到我的代码是正确的,但错误源自库中包含的其中一个文件。

到目前为止,这是我的代码:

function storeInParseDB ($message, $unit) {

    $parse = new parseQuery($class = 'PushNotifications');
    $parse->whereEqualTo('unit', $unit);
    $result = $parse->find();

    echo "RESULT: ";
    print_r($result);
}

抛出错误的代码:

private function checkResponse($response,$responseCode,$expectedCode){
        //TODO: Need to also check for response for a correct result from parse.com
        if($responseCode != $expectedCode){
            $error = json_decode($response);
            $this->throwError($error->error,$error->code);
        }
        else{
            //check for empty return
            if($response == '{}'){
                return true;
            }
            else{
                return json_decode($response);
            }
        }
    }

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

我在克隆https://github.com/apotropaic/parse.com-php-library.git后运行以下代码 - 使用自述文件中描述的appid,restkey和masterkey创建了一个parseConfig.php文件。

我在Parse数据浏览器中创建了一个新类,其中包含一个string类型的“unit”列,并为其添加了一行,unit = test。

<?php

include 'parse.com-php-library/parse.php';

function storeInParseDB ($message, $unit) {
        $parse = new parseQuery('PushNotifications');
        $parse->whereEqualTo('unit', $unit);
        $result = $parse->find();

        echo "RESULT: ";
        print_r($result);
}

storeInParseDB('hi', 'test');

如您所见,我得到了所需的输出,请确保您已正确设置parseConfig.php文件。

RESULT: stdClass Object
(
    [results] => Array
        (
            [0] => stdClass Object
                (
                    [unit] => test
                    [createdAt] => 2013-01-21T14:57:26.613Z
                    [updatedAt] => 2013-01-21T14:57:26.613Z
                    [objectId] => 0uiYuJcRYY
                )

        )

)