php – 从android和MYSQL数据库之间的连接返回的null值
发布时间:2020-12-13 16:44:30 所属栏目:PHP教程 来源:网络整理
导读:我试图通过从 Android传递参数的值从MySQL数据库中检索特定数据,然后在查询中的PHP脚本中读取此值以返回数据. 当我运行应用程序时,出现错误解析数据异常,因为返回的结果值为null? 为什么结果为null?是来自PHP脚本还是来自我的java代码的错误? 请帮我 提前
我试图通过从
Android传递参数的值从MySQL数据库中检索特定数据,然后在查询中的PHP脚本中读取此值以返回数据.
当我运行应用程序时,出现错误解析数据异常,因为返回的结果值为null? 为什么结果为null?是来自PHP脚本还是来自我的java代码的错误? 请帮我 提前致谢! city.php: <?php mysql_connect("localhost","username","password"); mysql_select_db("Countries"); $sql=mysql_query("select City_Population from City where Name= "'.$_REQUEST['Name']."'"); while($row=mysql_fetch_assoc($sql)) $output[]=$row; print(json_encode($output)); mysql_close(); ?>
java类: public class ConnectActivity extends ListActivity { String add="http://10.0.2.2/city.php"; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); new Connect().execute(); } private class Connect extends AsyncTask<Void,Void,String> { private String result = ""; private InputStream is=null; private String city_name="London"; protected String doInBackground(Void... params) { try { ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); nameValuePairs.add(new BasicNameValuePair("Name",city_name)); HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(add); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); HttpResponse response = httpclient.execute(httppost); HttpEntity entity = response.getEntity(); is = entity.getContent(); } catch(Exception e) { Log.e("log_tag","Error in http connection "+e.toString()); } //convert response to string try{ BufferedReader reader = new BufferedReader(new InputStreamReader(is,"utf-8"),8); StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line + "n"); } is.close(); result=sb.toString(); } catch(Exception e){ Log.e("log_tag","Error converting result "+e.toString()); } return result; } protected void onPostExecute(String result){ try{ JSONArray jArray = new JSONArray( result); JSONObject json_data=null; for(int i=0;i<jArray.length();i++) { json_data = jArray.getJSONObject(i); int population=json_data.getInt("City_Population"); TextView City_Name =(TextView)findViewById(R.id.city_name); TextView City_population=(TextView)findViewById(R.id.city_pop); City_Name.setText(json_data.getString(city_name)); City_population.setText(population+" " ); } } catch(JSONException e){ Log.e("log_tag","Error parsing data "+e.toString()); } } } } 解决方法<?php $name=$_POST['NAME']; mysql_connect("localhost","password"); mysql_select_db("Countries"); $sql=mysql_query("select City_Population as citypop from City where Name='$name' "); while($row=mysql_fetch_assoc($sql)) $output=$row['citypop']; print(json_encode($output)); mysql_close(); ?> 你试着确定它会起作用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |