【发布时间】:2018-02-13 11:38:45
【问题描述】:
这是安卓代码
public class MainActivity extends AppCompatActivity {
String ServerURL = "http://portal15.unaux.com/get_data.php";
EditText qr_code, desc,price ;
Button button;
String Tempqr, Tempdesc,Tempprice ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
qr_code=(EditText) findViewById(R.id.code);
desc=(EditText) findViewById(R.id.resource);
price=(EditText) findViewById(R.id.price);
button=(Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Getdata();
insertdata(Tempqr,Tempdesc,Tempprice);
}
// converting input data to string
public void Getdata(){
Tempqr = qr_code.getText().toString();
Tempdesc=desc.getText().toString();
Tempprice = price.getText().toString();
}
public void insertdata(final String code, final String description,final String price){
class SendPostReqAsyncTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
String qrHolder = code;
String descHolder = description ;
String priceHolder=price;
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("code", qrHolder));
nameValuePairs.add(new BasicNameValuePair("description", descHolder));
nameValuePairs.add(new BasicNameValuePair("price", priceHolder));
try {
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(ServerURL);
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
} catch (ClientProtocolException e) {
} catch (IOException e) {
}
return "Data Inserted Successfully";
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
Toast.makeText(MainActivity.this, "Data Submit Successfully", Toast.LENGTH_SHORT).show();
}
}
SendPostReqAsyncTask sendPostReqAsyncTask = new SendPostReqAsyncTask();
sendPostReqAsyncTask.execute(code,description,price);
}
});
}
}
数据没有上传到 mysql 数据库,但是我的手机上显示一个 toast,说数据上传成功,但没有数据上传到服务器上。
这是我的 PHP 代码
<?php include 'DatabaseConfig.php';
$con = mysqli_connect($HostName,$HostUser,$HostPass,$DatabaseName);
$code = $_POST['code'];
$details = $_POST['description'];
$price=$_POST['price'];
$Sql_Query="INSERT INTO item_details (item_code, item_details, Item_price)
VALUES(' $code ',' $details ',' $price')";
if(mysqli_query($con,$Sql_Query)) {
echo 'Data Submitted Successfully';
}
else {
echo 'Try Again';
}
mysqli_close($con); ?>
【问题讨论】:
-
那么问题是什么?
-
数据没有上传到mysql数据库toast显示在我的手机上,因为数据上传成功,但没有数据上传到服务器上。
-
这里是 php 代码
-
一个建议只是离开
HttpClient并可能使用网络库RetroFit。并且不要在 cmets 中添加代码编辑你的问题来解释问题。 -
你可以给我一个使用改造的代码吗?我以前没有使用过这个 api?