从PHP服务器的数据转换到Android失败 [英] Conversion of data from php server to android failed
问题描述
有没有编码的这部分错误?我不明白的地方是特定的问题。正如我的结果= NULL。传递给PHP和获取PHP服务器的答复之后。因为它应该是没有检索数据。调试出来的错误,应用程序的工作,但它只是我的编程,它做的不是运行...是否有任何人都可以看到这部分的循环孔?
的BufferedReader读者=新的BufferedReader(新的InputStreamReader(是,ISO-8859- 1),8); SB =新的StringBuilder(); sb.append(reader.readLine()+\\ n); 串行=0; 而((行= reader.readLine())!= NULL){ sb.append(行+\\ n);
}
is.close();
结果= sb.toString();
PHP的编码方
$ DB_HOST =localhost的;
$ db_username =根;
$ DB_PASS =trickster911;
$ DB_NAME =track_database; @mysql_connect($ DB_HOST,$ db_username,$ DB_PASS)或死亡(无法连接到数据库);
@mysql_select_db($ DB_NAME);
$ IMEI = $ _ POST ['code3'];
$ SQL =(选择经度,纬度从赛道上的IMEI =('$ IMEI'))或死亡(mysql_error());
$结果= mysql_query($的SQL);
如果($结果){
回声Y;
} 其他{
回声N;
}
$输出=阵列();
而($行= mysql_fetch_assoc($结果))
$输出[] = $行;
打印(json_en code($输出));
mysql_close(); ?>
调试后,
JSONTokener.nextCleanInternal()行:112
JSONTokener.nextValue()行:90
。JSONObject的<&初始化GT;(JSONTokener)线:154
。JSONObject的<&初始化GT;(字符串)行:171
跟踪$ 1.onClick(视图)行:119
按钮(查看).performClick()行:2408
查看$ PerformClick.run()行:8816
的ViewRoot(处理器).handleCallback(消息)线:587
的ViewRoot(处理器).dispatchMessage(消息)行:92
Looper.loop()行:123
ActivityThread.main(字符串[])行:4627
Method.invokeNative(对象,对象[],上课,下课[],类,整型,布尔)行:不可用[本机方法]
Method.invoke(对象,对象...)线:521
ZygoteInit $ MethodAndArgsCaller.run()行:868
ZygoteInit.main(字符串[])线:626
NativeStart.main(字符串[])行:不可用[本机方法]
而不是:
$ SQL =(选择经度,纬度从赛道上的IMEI =('$ IMEI'))或死亡(mysql_error());
试试这个:
$ SQL =(选择经度,纬度从赛道上的IMEI =$ IMEI。')或死亡(mysql_error());
我不知道,但也许你的问题是因为这个原因。请给一些反馈,如果它解决您的问题或没有。
Is there an error in this part of coding? I don't understand where is the specific problem. As my result = null. After passing to the php and getting the php server reply. It didn't retrieve the data as it should. Debugging comes out no error, application is working but it just doesn't run as what I programmed it to do... Is there anyone can see any loop holes from this part?
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859- 1"),8);
sb = new StringBuilder();
sb.append(reader.readLine() + "\n");
String line="0";
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result=sb.toString();
The PHP coding side
$db_host = "localhost";
$db_username = "root";
$db_pass = "trickster911";
$db_name = "track_database";
@mysql_connect("$db_host","$db_username","$db_pass") or die ("Could not connect to database");
@mysql_select_db("$db_name");
$imei = $_POST['code3'];
$sql=("SELECT latitude, longitude FROM track WHERE imei = ('$imei')") or die (mysql_error());
$result=mysql_query($sql);
if($result){
echo "Y";
}
else {
echo "N";
}
$output = array();
while($row=mysql_fetch_assoc($result))
$output[]=$row;
print(json_encode($output));
mysql_close();
?>
After debugging,
JSONTokener.nextCleanInternal() line: 112
JSONTokener.nextValue() line: 90
JSONObject.<init>(JSONTokener) line: 154
JSONObject.<init>(String) line: 171
Tracking$1.onClick(View) line: 119
Button(View).performClick() line: 2408
View$PerformClick.run() line: 8816
ViewRoot(Handler).handleCallback(Message) line: 587
ViewRoot(Handler).dispatchMessage(Message) line: 92
Looper.loop() line: 123
ActivityThread.main(String[]) line: 4627
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]
Method.invoke(Object, Object...) line: 521
ZygoteInit$MethodAndArgsCaller.run() line: 868
ZygoteInit.main(String[]) line: 626
NativeStart.main(String[]) line: not available [native method]
instead of:
$sql=("SELECT latitude, longitude FROM track WHERE imei = ('$imei')") or die (mysql_error());
try this:
$sql=("SELECT latitude, longitude FROM track WHERE imei = '".$imei."'") or die (mysql_error());
I'm not sure but maybe your problem is because of this. Please give some feedback if it fixes your problem or not.
这篇关于从PHP服务器的数据转换到Android失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!