AsyncHttpClient未将值传递给php
您好,我正在使用php将我的android应用程序连接到mysql,但是get方法没有将值传递到php文件 这是我的密码AsyncHttpClient未将值传递给php,php,android,mysql,android-async-http,getmethod,Php,Android,Mysql,Android Async Http,Getmethod,您好,我正在使用php将我的android应用程序连接到mysql,但是get方法没有将值传递到php文件 这是我的密码 private void executeAjaxRequest(){ String url = mDataUrl+"?request="+mRequest+"&outlet_id="+mOutletID; Log.v("url",url); System.out.println("This is StoreActivity "
private void executeAjaxRequest(){
String url = mDataUrl+"?request="+mRequest+"&outlet_id="+mOutletID;
Log.v("url",url);
System.out.println("This is StoreActivity " +url);
AsyncHttpClient httpclient = new AsyncHttpClient();
httpclient.get(url, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
setOutletData(response);
Log.i("TAG",response);
}
});
}
它应该将outletid和mrequest传递给php文件,以从数据库中获取数据
你能告诉我哪里出了问题吗
error_reporting(0);
//$url = $_GET['url'];
$mR = $_GET["mRequest"];
$mOid = $_GET["mOutletID"];
//$mloc = $_GET['mLocation'];
//connect to the db
//echo $mOid;
$user = "root";
$pswd = "";
$db = "recommendations_db";
$host = "localhost";
$conn = mysql_connect($host, $user, $pswd);
mysql_select_db($db);
//if($mR == 'outlets' && $mloc = 'all'){
$query = "SELECT outlet_id,outlet_name,outlet_location,outlet_image FROM outlets WHERE outlet_id = '$mOid'";
$result = mysql_query($query) or die("Unable to execute query because : " . mysql_error());
//echo $result ." ". $mOid;
while($row = mysql_fetch_assoc($result))
{
$query2 = "SELECT a.item_id,a.item_name,a.item_image FROM items a,outlets b,recommendations c WHERE a.item_id = c.item_id AND b.outlet_id = c.outlet_id AND b.outlet_id = ".$row['outlet_id'];
$row['recommended_products']=array();
$result2 = mysql_query($query2) or die("Unable to execute query because : " . mysql_error());
//echo $row;
while($row2 = mysql_fetch_assoc($result2)){
$row['recommended_products'][]=$row2;
//echo $row;
}
$output[] = $row;
}
print( json_encode($output) );
mysql_close($conn);
您是否能够在服务器上检索
请求
和输出ID
?如果请求确实是SQL请求,则应该对其进行url编码,以避免使用一些潜在的“危险”字符截断url
您应该重写AsyncHttpResponseHandler
中的方法onFailure
,以处理任何可能的错误。您还可以尝试使用RequestParams
,而不是将参数及其值放入URL中。您可以这样使用它们:
RequestParams params = new RequestParams();
params.put("request", "mRequest");
params.put("outlet_id", "mOutletID");
AsyncHttpClient client = new AsyncHttpClient();
client.get("URL", params, new AsyncHttpResponseHandler() {
@Override
public void onFailure(Throwable arg0, String arg1) {
// Handle the error
}
@Override
public void onSuccess(String arg0) {
// Do stuff with the result
}
});