PHP代码

<?php

header("Content-type: text/html; charset=gb2312");

$serverName = "localhost"; //数据库服务器地址

$uid = "Mssqla"; //数据库用户名

$pwd = "123456"; //数据库密码

$connectionInfo = array("UID"=>$uid, "PWD"=>$pwd, "Database"=>"mysql");

$conn = sqlsrv_connect( $serverName, $connectionInfo);

if($conn == false){

    echo "连接数据库失败";

}else{

    echo "连接数据库成功";

}

$name = $_POST['name'];

$pass = $_POST['pass'];

$security = $_POST['security'];

print($name);



sqlsrv_query($conn, "insert into android (name,pass,security) values('$name','$pass','$security')");



//定义好一个数组。PHP中array相当于一个数据字典

$data =array();

//定义一个类,用到存放从数据库中取出的数据.

class User{

    public $name;

    public $pass;

}



$query = sqlsrv_query($conn, "select * from myuser");

while($row = sqlsrv_fetch_array($query)){

    $user = new User();

    $user->name = $row['name'];

    $user->pass = $row['pass'];

    $data[] = $user;

}

$json = json_encode($data);  //把数据转换为JSON数据

print("{".'"user"'.":".$json."}");



sqlsrv_close($conn);

?>

Android代码

public static final int ISLOGIN =1;

private void sendRequestWithHttpClient(){

                new Thread(new Runnable() {

                    @Override

                    public void run() {

                        //创建键/值组列表

                        List<NameValuePair> pairs = new ArrayList<NameValuePair>();

                        pairs.add(new BasicNameValuePair("name", qq_name.getText().toString()));

                        pairs.add(new BasicNameValuePair("pass", qq_pass.getText().toString()));

                        pairs.add(new BasicNameValuePair("security", security.getText().toString()));

                        try{

                            HttpClient httpClient = new DefaultHttpClient();   //定义HttpClient

                            HttpPost httpPost = new HttpPost("http://.........../android/registered.php");  //实例化HTTP方法

                            UrlEncodedFormEntity entity = new UrlEncodedFormEntity(pairs,"gb2312");

                            httpPost.setEntity(entity);

                            HttpResponse httpResponse = httpClient.execute(httpPost);       //执行请求

                            //处理返回数据

                            HttpEntity httpentity =httpResponse.getEntity();

                            InputStream is =httpentity.getContent();

                            BufferedReader reader = new BufferedReader(

                                    new InputStreamReader(is,"gb2312"));

                            StringBuilder 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();

Message message = new Message();

                             message.what = ISLOGIN;

                             handler.sendMessage(message); // 将Message对象发送出去,采用异步处理机制

                            

                            if(httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK){

                            //    String result = EntityUtils.toString(httpResponse.getEntity());

                            }else{

                            }

                        }catch(UnsupportedEncodingException e){

                            e.printStackTrace();

                        }catch(ClientProtocolException e){

                            e.printStackTrace();

                        }catch (IOException e) {

                            e.printStackTrace();

                        }

                    }

                }).start();

            }

//异步处理的代码

@SuppressLint("HandlerLeak")

    private Handler handler = new Handler() {

        public void handleMessage(Message msge) {

            switch (msge.what) {

            case ISLOGIN:

// 在这里可以进行UI操作

Toast.makeText(LoginActivity.this, "account or password    is invalid",

                Toast.LENGTH_SHORT).show();

                break;

            default:

                break;

            }

        }

    };

注意:重新开启一个线程处理HttpClient请求,不要在UI线程处理,注意编码方式,如果出现乱码,数据库插入操作失败,将返回null值。

最新文章

  1. 把我的Java项目部署到Linux系统
  2. asp双表查询
  3. [转载]JQuery获取元素文档大小、偏移和位置和滚动条位置的方法集合
  4. 《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇03:暂停游戏》
  5. 167. Two Sum II - Input array is sorted
  6. 分辨率验证工具 - 【Firesizer】的使用
  7. 在Laravel中使用swoole来取代nginx作为http服务器
  8. Error 1313: RETURN is only allowed in a FUNCTION SQL Statement
  9. TCP建立连接三次握手和释放连接四次握手
  10. c/c++ 标准库 bind 函数 详解
  11. mysql limit 性能问题分析
  12. Django Context对象 + 过滤器 + 标签
  13. shell 终端常用插件
  14. java容器Container和组件Component之GUI
  15. Eclipse编辑XML自动提示(zz)
  16. C#实现U盘检查,并写入文件
  17. Oracle 数据库实现数据更新:update、merge
  18. ltnmp 3.0 发布,PHP 开发环境一键安装包
  19. MYSQL注入天书之开天辟地
  20. 第二百四十九节,Bootstrap附加导航插件

热门文章

  1. 从无到有之webpack+vuerouter的简单例子以及各个属性解释
  2. 子元素设置margin-top后,父元素跟随下移的问题
  3. c# 调用c++dll二次总结
  4. DB2定位锁等待
  5. DB2 UDB V8.1 管理
  6. MDL数据结构
  7. PAT 甲级 1059 Prime Factors
  8. delphi 中如何执行SqlParameter形式的SQL语句
  9. 【.Net】net 反射15分钟速成
  10. BZOJ 1266 上学路线(最短路+最小割)