我有一个数据库,我在我的Android应用程序(帐户)中使用。 我希望用户能够更改他/她的密码 我正在使用java,mySQL,PHP和JSON 用户名需要通过他们的id更新,我刚刚创建了代码来执行此操作但是我收到错误...:“解析数据时出错org.json.JSONException:Value< br>< java.lang类型的表.String无法转换为JSONObject“。
以下是一些代码行,我使用:
PHP
$query = "UPDATE users SET username = :username WHERE id = :id";
$stmt = $db->prepare($query);
$result = $stmt->execute($query_params);
我还需要检查用户名是否已成功更新,但稍后我会这样做 我只是用:
$response["success"] = 1;
$response["message"] = "Username is succesfully changed!";
die(json_encode($response));
JAVA
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
id = sp.getInt("id", 1);
EditText newUsername = (EditText)findViewById(R.id.etNewUsername);
username = newUsername.getText().toString();
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("id", Integer.toString(id)));
params.add(new BasicNameValuePair("username", username));
Log.d("request!", "starting");
JSONObject json = jsonParser.makeHttpRequest(url, "POST", params);
Log.d("After updating username", json.toString());
但标签:“更新用户名后”在LogCat中出现错误后才出现 所以我知道错误在HttpRequest中 也许这是身份证?因为它将被转换为String并且在数据库中id是一个整数?
我们将非常感谢您的帮助! 感谢。
答案 0 :(得分:0)
Error parsing data org.json.JSONException: Value < br>< table of type java.lang.String cannot be converted to JSONObject
注意价值 - "<br> <table"
。您正在尝试将HTML视为JSON。这不起作用,因此JSONParser抛出异常。你没有抓住异常,所以你崩溃了。