sql >> Database teknologi >  >> RDS >> Mysql

Gem php-værdi til java

På baggrund af kommentarerne opretter jeg et nyt svar, da begge mine svar er korrekte i det grundlæggende. Jeg lavede et eksempel ved at arbejde med Android (apache commons 4.5.1 ) og php 5.6. Begge versioner (4.5.1, 5.6) er ikke krav, kun hvad jeg bruger lige nu.

Eksempel antag, at du har en mysql-tabel kaldet information med felter status , time_in og med et andet felt markeret som AUTO_INCREMENT .

Java-del

i original ::doInBackground(String ...params) funktion du kunne have

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
}

baseret på native Java

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

og apache commons, som bør inkluderes i Android-biblioteket (downloadlink hvis ikke)

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-del

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();


  1. Mysql datetime bliver 0000-00-00 00:00:00 i mysql version 5.6

  2. INSERT .. SELECT med nogle standardværdier i MySQL med JOOQ

  3. Sådan eksporteres forespørgselsresultat til .csv eller tabulatorsepareret fil i SQL Server Management Studio(SSMS) - SQL Server / TSQL Selvstudium Del 23

  4. Oracle Rows to Column Transformation