コメントに基づいて、私は新しい答えを作成しています。私の答えは両方とも基本的に正しいからです。例を挙げて、Android( apache commons 4.5.1 )およびphp5.6。どちらのバージョン(4.5.1、5.6)も要件ではなく、現在使用しているものだけです。
例では、情報というmysqlテーブルがあると想定しています。 フィールドステータス 、 time_in AUTO_INCREMENTとマークされた別のフィールドがあります 。
Javaパート
元の::doInBackground(String ... params) あなたが持つことができる機能
HttpClient client = HttpClients.createDefault();
HttpPost httpPost = new HttpPost("http://localhost/so/sendrequest/addInformation.php");
try{
List<NameValuePair> data = new ArrayList<NameValuePair>(2);
data.add(new BasicNameValuePair("status", "ok"));
data.add(new BasicNameValuePair("timein", "12:55"));
httpPost.setEntity(new UrlEncodedFormEntity(data));
String response = EntityUtils.toString(client.execute(httpPost).getEntity());
System.out.println(response); //here you have your insertid
}catch(ClientProtocolException e){
// TODO Auto-generated catch block
}catch(IOException e){
// TODO Auto-generated catch block
}
ネイティブJavaに基づく
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
およびapachecommonsは、Androidライブラリに含まれている必要があります(
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
PHPパート
addInformation.php
<?php
class AddInformation
{
function response(){
/** @var mysqli $con */
require_once('dbConnect.php'); //$con = new mysqli('127.0.0.1', 'root', '', 'so');
$status = $con->real_escape_string($_POST['status']);
$timein = $con->real_escape_string($_POST['timein']);
$con->query("INSERT INTO information (status, time_in) VALUES ('$status', '$timein')");
echo $con->insert_id;
}
}
$ai = new AddInformation();
$ai->response();