JSON解析器与Sql语法有问题但查询工作

时间:2014-06-12 07:39:28

标签: sql json

首先,我遇到了这个错误:

Error parsing data org.json.JSONException: Value You of type java.lang.String cannot be converted to JSONObject

经过一番搜索后,我找到了一个使用子字符串的潜在解决方案,看看是否只有一些幻象字符导致问题:' json.substring(3)'

在尝试了不同的子字符串数量之后,我得到了json.substring(36),它最终向我展示了超过5个字母:

Error parsing data org.json.JSONException: Expected literal value at character 0 of ; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND from_user = 277976949048048 AND (status = 'pending' OR status = 'accepted'))' at line 2

也许这个新的'期待的文字'事情是由子串36引起的,但无论哪种方式,似乎我的SQL语法都存在问题,即使我直接用服务器测试它并且它工作得很好。这是我的SQL查询。

$result = mysql_query("SELECT status FROM users join requests on users.facebook_id=requests.from_user
WHERE (to_user = $id AND from_user = $fbid AND (status = 'pending' OR status = 'accepted'))
OR (from_user = $id AND to_user = $fbid AND (status = 'pending' OR status = 'accepted'))
LIMIT 1") or die(mysql_error());

任何帮助都非常感激,因为我现在正式难倒。

1 个答案:

答案 0 :(得分:0)

过去我在解析包含巨大整数的JSON文件时遇到了一些问题。 数字277976949048048似乎太大而不能被视为整数,我建议将其视为一个字符串。