Android通过PHP连接MySQL(传值查询)
16lz
2021-01-23
和 Android通过PHP连接MySQL(读取) 类似,界面不变,把 AndroidTestActivity.java 修改为:
select.php
<?php mysql_connect("127.0.0.1","root","123456"); mysql_query("SET NAMES utf8"); mysql_select_db("test");
$sql=mysql_query("select * from teacher where id='".$_REQUEST['id']."' and name='".$_REQUEST['name']."'"); while($row=mysql_fetch_assoc($sql)) $output[]=$row; print(json_encode($output)); mysql_close(); ?>
package com.knight.android.MySQL;
import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList;
import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject;
import android.app.Activity; import android.net.ParseException; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText;
public class Android_MySQLActivity extends Activity { JSONArray jArray; String result = null; InputStream is = null; StringBuilder sb=null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button b1 = (Button) findViewById(R.id.button1); b1.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub EditText tv = (EditText) findViewById(R.id.editView); ArrayList nameValuePairs = new ArrayList(); nameValuePairs.add(new BasicNameValuePair("id","3")); nameValuePairs.add(new BasicNameValuePair("name","Guo")); //http post try{ HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://175.186.54.10/select.php"); 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,"iso-8859-1"),8); sb = new StringBuilder(); sb.append(reader.readLine() + "\n"); 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()); } //paring data int ct_id; String ct_name; try{ jArray = new JSONArray(result); JSONObject json_data=null; for(int i=0;i<jArray.length();i++){ json_data = jArray.getJSONObject(i); ct_id=json_data.getInt("id"); ct_name=json_data.getString("name"); tv.append(ct_name+" \n"); } }catch(JSONException e1){ // Toast.makeText(getBaseContext(), "No City Found" ,Toast.LENGTH_LONG).show(); } catch (ParseException e1) { e1.printStackTrace(); } } }); } } 转发来自: http://blog.sina.com.cn/s/blog_6923201d01012rd7.html
select.php
<?php mysql_connect("127.0.0.1","root","123456"); mysql_query("SET NAMES utf8"); mysql_select_db("test");
$sql=mysql_query("select * from teacher where id='".$_REQUEST['id']."' and name='".$_REQUEST['name']."'"); while($row=mysql_fetch_assoc($sql)) $output[]=$row; print(json_encode($output)); mysql_close(); ?>
package com.knight.android.MySQL;
import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList;
import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject;
import android.app.Activity; import android.net.ParseException; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText;
public class Android_MySQLActivity extends Activity { JSONArray jArray; String result = null; InputStream is = null; StringBuilder sb=null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button b1 = (Button) findViewById(R.id.button1); b1.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub EditText tv = (EditText) findViewById(R.id.editView); ArrayList nameValuePairs = new ArrayList(); nameValuePairs.add(new BasicNameValuePair("id","3")); nameValuePairs.add(new BasicNameValuePair("name","Guo")); //http post try{ HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://175.186.54.10/select.php"); 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,"iso-8859-1"),8); sb = new StringBuilder(); sb.append(reader.readLine() + "\n"); 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()); } //paring data int ct_id; String ct_name; try{ jArray = new JSONArray(result); JSONObject json_data=null; for(int i=0;i<jArray.length();i++){ json_data = jArray.getJSONObject(i); ct_id=json_data.getInt("id"); ct_name=json_data.getString("name"); tv.append(ct_name+" \n"); } }catch(JSONException e1){ // Toast.makeText(getBaseContext(), "No City Found" ,Toast.LENGTH_LONG).show(); } catch (ParseException e1) { e1.printStackTrace(); } } }); } } 转发来自: http://blog.sina.com.cn/s/blog_6923201d01012rd7.html
更多相关文章
- Android异步处理系列文章四篇之一使用Thread+Handler实现非UI线
- Android 界面布局之RelativeLayout
- 使用AsyncTask异步更新UI界面
- android开发,修改默认界面的背景色
- Android常用UI界面设计及国际化
- 关于Android软键盘弹出,会把原来的界面挤上去的问题
- android 界面中加入密码框
- WPF实现定时刷新UI界面的实例详解
- c语言如何实现做界面