我有一個問題,從android發送數據到php腳本。我在網上搜索了答案,爲什麼它不起作用,但沒有答案的工作。我也嘗試使用$ _ GET和$ _SERVER,但它也不起作用。任何建議我做錯了什麼? 的Android代碼:從android發送數據到PHP
int timout = 10000;
try {
JSONObject json = new JSONObject();
json.put("skola", regid);
Log.w("test","json array== "+json);
HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams,
timout);
HttpConnectionParams.setSoTimeout(httpParams, timout);
HttpClient client = new DefaultHttpClient(httpParams);
HttpPost request = new HttpPost(url);
request.setEntity(new ByteArrayEntity(json.toString().getBytes(
"UTF8")));
request.setHeader("json", json.toString());
HttpResponse response = client.execute(request);
HttpEntity entity = response.getEntity();
if (entity != null) {
InputStream instream = entity.getContent();
String result = convertStreamToString(instream);
Log.i("Read from server", result);
Toast.makeText(SettingsActivity.this, result,
Toast.LENGTH_LONG).show();
}
} catch (Throwable t) {
Toast.makeText(SettingsActivity.this, "Request failed: " + t.toString(),
Toast.LENGTH_LONG).show();
}
和我的PHP代碼:
<?php
$obj=$_POST['json'];
$db=json_decode($obj,true);
file_put_contents('myTextFile.txt',$db);
$con = mysql_connect("localhost","avg","1zmaInas");
mysql_select_db("datubazes", $con);
mysql_query ("set character_set_client='utf8'");
mysql_query ("set character_set_results='utf8'");
mysql_query ("set collation_connection='utf8_general_ci'");
mysql_query ("SET NAMES utf8");
$result = mysql_query("SELECT * FROM saraksts WHERE skola='$db' ");
while($row = mysql_fetch_assoc($result))
{
$db=$row['datubaze'];
}
$con = mysql_connect("localhost","avg","1zmaInas");
mysql_select_db($db, $con);
$result = mysql_query("SELECT klase FROM klases");
while($row = mysql_fetch_assoc($result))
{
$output[]=$row;
}
print(json_encode($output));
mysql_close($con);
?>
什麼是錯誤?你可以發佈你的logcat堆棧跟蹤嗎? –
有沒有錯誤的PHP腳本只是沒有收到數據和響應爲空。 – user3198920