gpt4 book ai didi

java - JSONException : Value
转载 作者:行者123 更新时间:2023-12-01 18:42:42 25 4
gpt4 key购买 nike

我知道这种问题有一些解决方案,并针对这个问题应用了一些解决方案,但我无法解决,我很困惑。请帮我。这是代码:

protected String doInBackground(Boolean... params) {

String result = null;

StringBuilder sb = new StringBuilder();


try {

// http post
HttpClient httpclient = new DefaultHttpClient();



HttpGet httppost = new HttpGet(
"http://192.168.2.245/getProducts.php?login=1&user_name=UserName&password=Password");

HttpResponse response = httpclient.execute(httppost);
if (response.getStatusLine().getStatusCode() != 200) {
Log.d("MyApp", "Server encountered an error");
}



BufferedReader reader = new BufferedReader(new InputStreamReader(
response.getEntity().getContent(), "utf-8"), 8); //old charset iso-8859-1

sb = new StringBuilder();

sb.append(reader.readLine() + "\n");

String line = null;

while ((line = reader.readLine()) != null) {

sb.append(line + "\n");


}
result = sb.toString();

Log.d("test", result);

}
catch (Exception e) {

Log.e("log_tag", "Error converting result " + e.toString());

}

return result;
}

PHP 代码:

$login=$_GET["login"]; 
$user_name=$_GET["user_name"];
$password=$_GET["password"];
$output=array();
if ($login) {
$sql=mysql_query("SELECT user_id FROM users WHERE user_name='".$user_name."' AND user_pass='".$password."' ");

while($row=mysql_fetch_array($sql)) {
$user_id=$row["user_id"];
}

$sql=mysql_query("SELECT name,device_id,lat,lon FROM devices WHERE user_id='".$user_id."' LIMIT 100");

while($row=mysql_fetch_assoc($sql)) {
$output[]=$row; }
}

print(json_encode($output));
mysql_close();

logcat:org.json.JSONException: 值

我该怎么办? Php代码在网页上运行没有任何错误,但是为什么在这部分出现错误?logcat中还有:( ! ) 注意: undefined variable :C:\wamp\www\getProducts.php 中的 user_id 27

Logcat!

<br /><font size='1'><table class='xdebug-error xe-notice' dir='ltr' border='1' cellspacing='0'    cellpadding='1'><tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Undefined variable: user_id in C:\wamp\www\getProducts.php on line <i>27</i></th></tr><tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>... this kind of code appears in logcat then org.json.JSONException: Value <br of type java.lang.String cannot be converted to JSONArray at org.json.JSON.typeMismatch(JSON.java:107)

最佳答案

您没有返回有效的 JSON,似乎您正在返回带有 <br> 的 HTML fragment 。查看您网站的返回来源。

What should i do? The Php code runs on web page without any errors but why got an error in this part? In logcat also has: ( ! ) Notice: Undefined variable: user_id in C:\wamp\www\getProducts.php on line 27

所以user_id没有定义!只需查看您的 GET/POST 参数或向我们展示您的相关 php 代码即可。

请使用echo json_encode($output);不是print .

如果您的第一个查询没有返回行,您会做什么。试试这个。

$sql=mysql_query("SELECT user_id FROM users WHERE user_name='".$user_name."' AND user_pass='".$password."' "); 
if(mysql_num_rows($sql) == 0){
echo "USERID CANNOT BE FOUND";
}
while($row=mysql_fetch_array($sql)) {
echo "USERID FOUND" .$row["user_id"] ;
$user_id=$row["user_id"];
}

看来user_name找不到。因此,只需稍后尝试回显您的 user_id 即可对其进行调试。如果您没有找到 UserID,则回显用户名和密码不存在。

编辑:正如您的 logact 所说,您传递的用户名没有条目,因此 $user_id 永远不会被填充。

http://192.168.2.245/getProducts.php?login=1&user_name=UserName&password=Password

您正在传递 user_name = 用户名和密码 = 密码。该条目确实存在于您的数据库中吗?

此外,为了获得更好的性能,请查看 MySQL LETF JOIN 和 MySQL 子查询。

关于java - JSONException : Value <br of type java. lang.String 无法转换为 JSONArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19244516/

25 4 0

Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com