私はアンドロイドから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;
}
}
}
それ以外の場合は、$ name、$ email、$ mobileの値を表示し、設定されていれば表示できますか? – ksome
まだ同じ問題 –
$ name、$ email、および$ mobileの値はデータベースに入力する前にどうなりますか?そして、$ _POST配列の値は何ですか? – ksome