我正在尝试从我的日期库中获取用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代码中。 如有必要,我会翻译代码。 谢谢!