尝试使用Httppost连接到本地数据库

时间:2015-07-08 01:41:18

标签: java php android

我正在尝试从我的日期库中获取用wamp托管的用户数据。 我发送了一个post文件请求到一个php文件,该文件返回一个json对象但该应用程序卡在HttpResponse response = cliente.execute(request);

这是我的代码:

private void obtenerJson() {
    EditText nombre = (EditText) findViewById(R.id.txtnombre);
    EditText password = (EditText) findViewById(R.id.txtpassword);

    String nombreIngresado = nombre.getText().toString().trim();
    String passwordIngresado = password.getText().toString().trim();

    List<NameValuePair> datos = new ArrayList<NameValuePair>();
    datos.add(new BasicNameValuePair("nombre", nombreIngresado));
    datos.add(new BasicNameValuePair("password", passwordIngresado));

    HttpClient cliente = new DefaultHttpClient();
    HttpPost request = new HttpPost("http://10.0.2.2/myfiles/myrequest.php");
    BufferedReader lector =null;
    StringBuffer stringBuffer = new StringBuffer("");

    try {
        request.setEntity(new UrlEncodedFormEntity(datos));
            HttpResponse response = cliente.execute(request);
            HttpEntity entidad = response.getEntity();                    
            if (entidad != null) {
                String resultado = EntityUtils.toString(entidad, "utf-8");
            }
            lector = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
            String linea = "";
            String separadora = System.getProperty("line.separator");

        while ((linea = lector.readLine()) != null){

            stringBuffer.append(linea + separadora);
        }
        lector.close();
        interpretarJSon(stringBuffer.toString(), nombreIngresado, passwordIngresado);


    } catch (Exception e) {

    }
}

以下代码HttpResponse response = cliente.execute(request);无所谓。 问题是,当我发送请求时,它什么都不返回。我使用Log.d来显示响应内容,但它没有任何显示。

这是我的PHP代码:

 <?php include('funciones.php'); 
$nombre = $_POST["nombre"];
$password = $_POST["pass"];

$result = getSQLResultSet("SELECT nombre, password 
FROM  `usuario` where nombre=".$nombre."");
        while ($row = $result->fetch_array(MYSQLI_ASSOC)) {

            foreach ($row as $var => $comparar){

                if($nombre == $var ){
                    $nombreok = true;
                }
                if($pass == $var){
                    $passok = true;
                }

                if($nombreok && $passok){
                    $devolver[] = $row;
                }
            }           
        }
        echo json_encode($devolver);
?>

这是来自funciones.php的代码:

<?php
function getSQLResultSet($commando){
$mysqli = new mysqli("localhost", "root", "", "basededatos");

/* check connection */
if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}

 $var = $mysqli->execute($commando);

    //return $mysqli->store_result();

$mysqli->close();
return $var;
}
?>

我想我可能使用了错误的ip,或问题出在我的php代码中。 如有必要,我会翻译代码。 谢谢!

0 个答案:

没有答案