2016-10-24 10 views
0

私はアンドロイドからmysqlに値を挿入するアンドロイドアプリを開発しています。全て大丈夫。ユーザーの値を挿入すると、空白の値がテーブルに挿入されます。androidのmysqlに値を挿入する

<?php 
require "init.php"; 
$host = "localhost"; 
$user = "githucco_furqan"; 
$password = "githuc.com123"; 
$db = "githucco_app"; 

$sql_query= "insert into sample values('$name','$email','$mobile');"; 
    if(mysqli_query($con,$sql_query)) 
     { 
     echo"<h3>Data insertion successfully</h3>"; 
     } 
    else 
     { 
     echo"<h3>Data insertion error...</h3>".mysqli_error($con); 
     } 
    ?> 

と私のJavaコードは次のとおりです:ここに私のPHPのコードがある

package com.example.muhammadfurqan.fanuc; 

import android.os.AsyncTask; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.Toast; 

import java.io.BufferedWriter; 
import java.io.IOException; 
import java.io.InputStream; 
import java.io.OutputStream; 
import java.io.OutputStreamWriter; 
import java.net.HttpURLConnection; 
import java.net.MalformedURLException; 
import java.net.URL; 
import java.net.URLEncoder; 

public class Add_Info extends AppCompatActivity { 
EditText name,email,number; 
Button add_button; 
String p_name,mail,cell_number; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_add__info); 
    name = (EditText)findViewById(R.id.name); 
    email = (EditText)findViewById(R.id.email); 
    number = (EditText)findViewById(R.id.number); 
    add_button = (Button)findViewById(R.id.add_btn); 

} 
public void saveinfo(View view){ 
    p_name = name.getText().toString(); 
    mail = email.getText().toString(); 
    cell_number = number.getText().toString(); 
    BackgroundTask backgroundTask = new BackgroundTask(); 
    backgroundTask.execute(p_name,mail,cell_number); 
} 
class BackgroundTask extends AsyncTask<String, Void, String> { 

    String add_info_url; 
    @Override 
    protected void onPreExecute() { 
     add_info_url = "http://app.githuc.com/android_database_connection/add_info.php"; 
    } 

    @Override 
    protected void onPostExecute(String result) { 
     Toast.makeText(getApplicationContext(),result,Toast.LENGTH_LONG).show(); 

    } 

    @Override 
    protected void onProgressUpdate(Void... values) { 
     super.onProgressUpdate(values); 
    } 

    @Override 
    protected String doInBackground(String... arg) { 
     String name, email, mobile; 
     name = arg[0]; 
     email = arg[1]; 
     mobile = arg[2]; 
     try { 
      URL url = new URL(add_info_url); 
      HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection(); 
      httpURLConnection.setRequestMethod("POST"); 
      httpURLConnection.setDoOutput(true); 
      OutputStream outputStream = httpURLConnection.getOutputStream(); 
      BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream,"LATIN"),8); 
      String data_String = URLEncoder.encode("name","UTF-8")+"="+URLEncoder.encode(name,"UTF-8")+"&"+ 
        URLEncoder.encode("email","UTF-8")+"="+URLEncoder.encode(email,"UTF-8")+"&"+ 
        URLEncoder.encode("mobile","UTF-8")+"="+URLEncoder.encode(mobile,"UTF-8"); 
      bufferedWriter.write(data_String); 
      bufferedWriter.flush(); 
      bufferedWriter.close(); 
      outputStream.close(); 
      InputStream inputStream = httpURLConnection.getInputStream(); 
      inputStream.close(); 
      httpURLConnection.disconnect(); 
      Log.d("name = ",name); 
      Log.d("email = ",email); 
      return "Data has been inserted successfuly"; 
     } catch (MalformedURLException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
     return null; 
    } 
} 

}

答えて

0

あなたは$名の値を取得する必要があり、$ POSTから$電子メールと$モバイル-Array in php。これで動作します

$name = $_POST["name"]; 
$email = $_POST["email"]; 
$mobile = $_POST["name"]; 
+0

それ以外の場合は、$ name、$ email、$ mobileの値を表示し、設定されていれば表示できますか? – ksome

+0

まだ同じ問題 –

+0

$ name、$ email、および$ mobileの値はデータベースに入力する前にどうなりますか?そして、$ _POST配列の値は何ですか? – ksome

0

各ポストパラメータの値を取得していないため、問題です。クエリを実行する前にアンドロイドからポストパラメータを受け取る必要があります。あなたは、&のWEB APIの投稿パラメタをこのarticleに受信すると、アンドロイドに投稿する例を見ることができます。

関連する問題