首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Adobe PHP分析JSON错误

使用Adobe PHP分析JSON错误
EN

Stack Overflow用户
提问于 2009-08-05 11:22:34
回答 1查看 2.4K关注 0票数 0

我试图从我的SQL数据库返回结果,使用PHP将其转换为JSON,然后由Flex读取。

这是我收到的解析错误-

在com.adobe.serialization.json::JSONTokenizer/parseError()/Users/mesh/src/as3corelib/src/com/adobe/serialization/json/JSONTokenizer.as:579 at com.adobe.serialization.json::JSONTokenizer/getNextToken()/Users/mesh/src/as3corelib/src/com/adobe/serialization/json/JSONTokenizer.as:168 at com.adobe.serialization.json::JSONDecoder/nextToken()/Users/mesh/src/as3corelib/src/com遇到的意外<

JSONParseError/adobe/序列化/json/json/jsondecoder.as:83 at com.adobe.serialization.json::JSONDecoder()/Users/mesh/src/as3corelib/src/com/adobe/serialization/json/JSONDecoder.as:60 at com.adobe.serialization.json::JSON$/decode()/Users/mesh/src/as3corelib/src/com/adobe/serialization/json/JSON.as:78 at main/getPHPData()C:\wamp\www\ClassDB\src\main.mxml:25 atmain/__getData_result()C:\wamp\www\ClassDB\src\main.mxml:58 at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at mx.rpc.http.mxml::HTTPService/[http://www.adobe.com/2006/flex/mx/internal::dispatchRpcEvent()[C](http://www.adobe.com/2006/flex/mx/internal::dispatchRpcEvent(%29[C):\autobuild\3.2.0\frameworks\projects\rpc\src\mx\rpc\http\mxml\HTTPService.as:290] at mx.rpc::AbstractInvoker/[http://www.adobe.com/2006/flex/mx/internal::resultHandler()[C](http://www.adobe.com/2006/flex/mx/internal::resultHandler(%29[C):\autobuild\3.2.0\frameworks\projects\rpc\src\mx\rpc\AbstractInvoker.as:193] at mx.rpc::Responder/result()C:\autobuild\3.2.0\frameworks\projects\rpc\srcmx.rpc::AsyncRequest/acknowledge()C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\rpc\AsyncRequest.as:74 at DirectHTTPMessageResponder/completeHandler()C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\messaging\channels\DirectHTTPChannel.as:403 at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at fl.net::URLLoader/onComplete()

这是我正在使用的PHP -

代码语言:javascript
复制
<?php

if (isset($_GET['getclassdb']))
    {
    mysql_connect($URL, $USERNAME, $PASSWORD);
    mysql_select_db($DATABASE) or die('Cannot connect to database.');
    $returnArray = array();
    $query = 'SELECT * FROM classdb';
    $result = mysql_query($query);
    while ($row = mysql_fetch_assoc($result))
        {
        array_push($returnArray, $row);
        }

    mysql_close();
    echo json_encode($returnArray);
    }
elseif (isset($_GET['setclassdb']))
    {
    $jsonString = urldecode($_GET['jsonSendData']);
    $jsonString = str_replace("\\", "", $jsonString);
    $data = json_decode($jsonString, true);
    mysql_connect($URL, $USERNAME, $PASSWORD);
    mysql_select_db($DATABASE) or die('Cannot connect to database.');
    foreach($data as $classdbEntry)
        {
        $query = sprintf('UPDATE Tutorials SET rating = "%s" WHERE id = "%s"', mysql_real_escape_string($classdbEntry['rating']) , mysql_real_escape_string($classdbEntry['id']));
        $result = mysql_query($query);
        if (!$result)
            {
            mysql_close();
            echo mysql_error();
            return;
            }
        }

    mysql_close();
    echo "database updated";
    }

?>

我完全不知所措,不知从哪里出发。对正确方向的任何帮助或暗示都将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2009-10-12 02:39:24

我认为问题在于您没有“返回”(打印出)有效的json,这正是actionscript类所期望的。据我所知,PHP脚本要么什么也不返回,要么字符串“数据库更新”,这两个都不是有效的JSON。

我不知道actionscript方面是否对它会收到什么有特殊的期望。如果没有,只需打印出字符串"{}“就足够了;这将是一个空的JSON对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1232637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档