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值。

Android通过php插入查询SQL数据库的更多相关文章

  1. Android - 数据存储 -在SQL数据库中保存数据

    对于重复的或结构化的数据,保存到数据库中是很好的选择,比如联系人信息.这里假设你对SQL数据库大体上了解然后帮助你学习Android上的SQLite数据库.在Android数据库上需要用到的API可以 ...

  2. 一个最简单的使用Entity Framework 查询SQL 数据库的例子

    1.ADO.NET 3.5 Entity Framework是随着.net framework 3.5一起发布的,确认开发环境版本是大于等于3.5版本 2.确认已经安装了ADO.NET 3.5 Ent ...

  3. 查询sql数据库中表占用的空间大小

    最近在给一家客户做系统维护时,需要查看数据库表的大小,相关的sql如下: 先在左上角下拉框中选对要查的数据库再执行以下语句 1. exec sp_spaceused '表名'          --( ...

  4. 查询sql表列名

    --查询sql 查询表列名Select Name FROM SysColumns Where id=Object_Id('Tab') --查询sql数据库表列名称select name from sy ...

  5. Android adb使用sqlite3对一个数据库进行sql查询

    sqlite是Android下集成的一个轻量级数据库,我们可以通过adb程序进入数据库命令行,对数据进行查询,具体操作如下: ①打开windows的cmd ②输入adb shell.此时进入了该安卓系 ...

  6. 【Android Developers Training】 26. 在SQL数据库中保存数据

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  7. Android SQL数据库应用实践 “问题点”“疑难点”“解析”

    应用 Android SQL 数据库时,遇到的问题: 场景1:Android SQL查询后,获取到Cursor并查询数据:遇到以下问题:"android.database.CursorInd ...

  8. Android学习笔记——保存数据到SQL数据库中(Saving Data in SQL Databases)

    知识点: 1.使用SQL Helper创建数据库 2.数据的增删查改(PRDU:Put.Read.Delete.Update) 背景知识: 上篇文章学习了保存文件,今天学习的是保存数据到SQL数据库中 ...

  9. SQL数据库查询一列数据返回一行

    SQL:数据库合并列数据:遇到一个更新的问题 想要把查询到的数据某一列拼接成字符串形式返回用的是SQL数据库中的STUFF函数比如 查询到的表(u_College)如下Id Name Age Clas ...

随机推荐

  1. 20181113-7 Beta阶段第1周/共2周 Scrum立会报告+燃尽图 05

    作业要求https://edu.cnblogs.com/campus/nenu/2018fall/homework/2387 版本控制https://git.coding.net/lglr2018/F ...

  2. c# byte转docx

    问题情境: docx文件放进resource中,再用程序读出来的时候是二进制数组. 解决办法: public string ByteConvertWord(byte[] data, string fi ...

  3. TCP系列47—拥塞控制—10、FACK下的快速恢复与PRR

    一.概述 FACK下的重传我们在之前的重传部分已经进行了介绍,这里简单介绍一下随着FACK提出的拥塞控制算法的改进及随后的进一步改进. 从我们之前介绍的RFC2582和RFC5681中可以看到,快速恢 ...

  4. ElasticSearch API 简要介绍

    调用其API会返回很多信息,例如集群的信息,节点的信息等 检查集群的状态----Restful API说明 1:检查集群状态信息 2:管理集群 3:执行 增删改查 命令 4:执行高级命令 Restfu ...

  5. PHP 生成条形码

    <?php class BarCode128 { const STARTA = 103; const STARTB = 104; const STARTC = 105; const STOP = ...

  6. 在线webservice

    腾讯QQ在线状态 WEB 服务Endpoint: http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx Disco: http:// ...

  7. Spring MVC @RequestParam @RequestHeader @CookieValue用法

    摘要: package com.hust.springmvc1; import org.springframework.stereotype.Controller; import org.spring ...

  8. Java容器深入浅出之数组

    写在前面 关于Java的学习,特别是对于非计算机专业的同学来说,我总是主张从实践中来,到实践中去的学习方法.Java本身是一门应用性特别强的高级编程语言,因此如果能在基于实际开发的经验基础上,对Jav ...

  9. MVC SignalR Hub初学

    具体有关SignalR的说明查网上,我这里简单列举一个例子 1.新建MVC,添加SignalR引用(NuGet安装). 2.添加OWIN START类 public class Startup { p ...

  10. C++解析(28):异常处理

    0.目录 1.C语言异常处理 2.C++中的异常处理 3.小结 1.C语言异常处理 异常的概念: 程序在运行过程中可能产生异常 异常(Exception)与 Bug 的区别 异常是程序运行时可预料的执 ...